@arcgis/core 4.24.0-next.20220329 → 4.24.0-next.20220401
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/PopupTemplate.js +1 -1
- package/WebMap.js +1 -1
- package/WebScene.js +1 -1
- package/analysis/LineOfSightAnalysisObserver.js +1 -1
- package/analysis/LineOfSightAnalysisTarget.js +1 -1
- package/arcade/featureset/actions/Adapted.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
- package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/arcade/featureset/support/RecentlyUsedCache.js +1 -1
- package/arcade/featureset/support/shared.js +1 -1
- package/arcade/functions/convertdirection.js +1 -1
- package/arcade/lib/character.js +1 -1
- package/arcade/lib/scanner.js +1 -1
- package/arcade/lib/tokenizer.js +1 -1
- package/arcade/request.js +1 -1
- package/arcade/treeAnalysis.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0bfedb1dbdff8205e468.js +1 -0
- package/assets/esri/core/workers/chunks/{5e472c89a38d6a42b84d.js → 0e29250c24a3a7b1ce13.js} +1 -1
- package/assets/esri/core/workers/chunks/0eb9c9477d36cd212f8b.js +1 -0
- package/assets/esri/core/workers/chunks/10779a256841c37f2429.js +1 -0
- package/assets/esri/core/workers/chunks/10a119889d1ab13402a3.js +1 -0
- package/assets/esri/core/workers/chunks/125b14c2ccd96d7c20c2.js +1 -0
- package/assets/esri/core/workers/chunks/23ec33a30db201e8b2c3.js +1 -0
- package/assets/esri/core/workers/chunks/2530e8ccf6e12787ce76.js +1 -0
- package/assets/esri/core/workers/chunks/2d9e97ba5b50aec4dd01.js +1 -0
- package/assets/esri/core/workers/chunks/365dc146398420f13f82.js +1 -0
- package/assets/esri/core/workers/chunks/3ae2827e8d55d6713d20.js +1 -0
- package/assets/esri/core/workers/chunks/3e3eebaa0844742db2f2.js +1 -0
- package/assets/esri/core/workers/chunks/3fd5b2d6eccd9098d492.js +1 -0
- package/assets/esri/core/workers/chunks/404f1d7bce014c7e6965.js +1 -0
- package/assets/esri/core/workers/chunks/411b7777bb5e943c156f.js +1 -0
- package/assets/esri/core/workers/chunks/{12ca192a5233bb2875d0.js → 4312902ab6e42fbe119b.js} +1 -1
- package/assets/esri/core/workers/chunks/{4ef07f50da39f8607c1c.js → 44e95e87bd9e820aeb53.js} +1 -1
- package/assets/esri/core/workers/chunks/{4d4c5e535d8b9ceb865a.js → 4810edf605838d07e5c5.js} +1 -1
- package/assets/esri/core/workers/chunks/4bce446391176a9d4588.js +1 -0
- package/assets/esri/core/workers/chunks/52a0e387073ea264e194.js +1 -0
- package/assets/esri/core/workers/chunks/560234694f3e53802aff.js +1 -0
- package/assets/esri/core/workers/chunks/5633710daeb3bbb79bcf.js +1 -0
- package/assets/esri/core/workers/chunks/5682039666f874836451.js +1 -0
- package/assets/esri/core/workers/chunks/6f01905936396fe87865.js +1 -0
- package/assets/esri/core/workers/chunks/6f7917da7166e8c6854b.js +1 -0
- package/assets/esri/core/workers/chunks/7388824eac8da01ea03d.js +1 -0
- package/assets/esri/core/workers/chunks/7745efef7d5119d0b087.js +1 -0
- package/assets/esri/core/workers/chunks/794b47764ebb0257ed41.js +1 -0
- package/assets/esri/core/workers/chunks/{da64dedf9270b64f42b2.js → 79bdb26244ec7b4472fe.js} +1 -1
- package/assets/esri/core/workers/chunks/79ec28b3e3c57fe026aa.js +1 -0
- package/assets/esri/core/workers/chunks/81e9d860a044acec74ce.js +1 -0
- package/assets/esri/core/workers/chunks/831dc0187f71e658550c.js +1 -0
- package/assets/esri/core/workers/chunks/86ad6b020c01850d9095.js +1 -0
- package/assets/esri/core/workers/chunks/{fb7397da8d4ec2ae4587.js → 87458fbf395338511662.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a859be598ad96bb4719.js → 8771296b537f366596c4.js} +18 -18
- package/assets/esri/core/workers/chunks/8958cd555f4887526e8b.js +1 -0
- package/assets/esri/core/workers/chunks/{e57b71ba70f088a3a052.js → 90dcd86cdef90099abfa.js} +1 -1
- package/assets/esri/core/workers/chunks/93067e27eea5844edc6c.js +1 -0
- package/assets/esri/core/workers/chunks/{9fbee2d9bf50c4c148c6.js → 9a146c9e9b4bf7fba88f.js} +1 -1
- package/assets/esri/core/workers/chunks/9b9821772b6cbe189fe0.js +1 -0
- package/assets/esri/core/workers/chunks/{6c4ce530b493c6f7c430.js → 9df2f9f7c28b31866be8.js} +1 -1
- package/assets/esri/core/workers/chunks/{d0620ce99b620621d8bc.js → a0552044e123a3c51ddf.js} +1 -1
- package/assets/esri/core/workers/chunks/acc1a4acd57f5657e782.js +1 -0
- package/assets/esri/core/workers/chunks/b055ae7c54796751b64c.js +1 -0
- package/assets/esri/core/workers/chunks/{acc2cfb116fee7f82ae9.js → b26bd8fde2fc65bb67fb.js} +1 -1
- package/assets/esri/core/workers/chunks/{9b45b94c4dbdc8d2c5fd.js → b34ba22c7a5adce8a7a2.js} +1 -1
- package/assets/esri/core/workers/chunks/b75665d0bf417c6ef24a.js +1 -0
- package/assets/esri/core/workers/chunks/bd50ec30688463b821d1.js +1 -0
- package/assets/esri/core/workers/chunks/c28f7ae4756ad1ba94bd.js +1 -0
- package/assets/esri/core/workers/chunks/c4f713959d4115b87c6c.js +1 -0
- package/assets/esri/core/workers/chunks/c58aa209492bd94b7aad.js +1 -0
- package/assets/esri/core/workers/chunks/{9b117097b7be0efd21d4.js → c59b0b58e24e6a60cf3e.js} +1 -1
- package/assets/esri/core/workers/chunks/c7bd5a4d318299388645.js +1 -0
- package/assets/esri/core/workers/chunks/c7cee13a962396b23a5e.js +1 -0
- package/assets/esri/core/workers/chunks/{3bbff5ea1ea0e955c592.js → cd3679fa86129ebabfdf.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a36dc0daffd536ea44d.js → cee7ce362860717713bf.js} +1 -1
- package/assets/esri/core/workers/chunks/cf463d6309f14df2f2fa.js +1 -0
- package/assets/esri/core/workers/chunks/{224c0e64160bdc170051.js → d076627bb7dadea89e89.js} +1 -1
- package/assets/esri/core/workers/chunks/{fff4200bc61b82dd6193.js → d1d1c45243af614f2e74.js} +1 -1
- package/assets/esri/core/workers/chunks/{1e0498dc9836658d9aba.js → d5fd12ea541c1a6b7fce.js} +1 -1
- package/assets/esri/core/workers/chunks/{10322d990cda5aedf2f0.js → d6e32ca237ad9309c76a.js} +1 -1
- package/assets/esri/core/workers/chunks/e06ad3a3d71154fed654.js +1 -0
- package/assets/esri/core/workers/chunks/{7a77d4cd27c30f1a5cae.js → ee3387a43dfbb3df23e1.js} +1 -1
- package/assets/esri/core/workers/chunks/{5d5fa2b1fc48a17eb9ab.js → f4fc165420d449e442b8.js} +1 -1
- package/assets/esri/core/workers/chunks/{3d6d9906a534ddd8fa37.js → f5ee03f3fca7a75192de.js} +1 -1
- package/assets/esri/themes/base/widgets/_Daylight.scss +1 -1
- package/assets/esri/themes/base/widgets/_ElevationProfile.scss +1 -1
- package/assets/esri/themes/base/widgets/_Weather.scss +1 -1
- package/assets/esri/themes/base/widgets/_Widget.scss +12 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/dark-blue/main.css +1 -1
- package/assets/esri/themes/dark-green/main.css +1 -1
- package/assets/esri/themes/dark-purple/main.css +1 -1
- package/assets/esri/themes/dark-red/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/themes/light-blue/main.css +1 -1
- package/assets/esri/themes/light-green/main.css +1 -1
- package/assets/esri/themes/light-purple/main.css +1 -1
- package/assets/esri/themes/light-red/main.css +1 -1
- package/chunks/ComponentShader.glsl.js +25 -25
- package/chunks/HighlightApply.glsl.js +36 -0
- package/chunks/HighlightBlur.glsl.js +26 -0
- package/chunks/HighlightDownsample.glsl.js +12 -0
- package/chunks/ImageMaterial.glsl.js +8 -8
- package/chunks/LineCallout.glsl.js +1 -1
- package/chunks/Pattern.glsl.js +2 -2
- package/chunks/SimpleAtmosphere.glsl.js +7 -7
- package/chunks/Stars.glsl.js +1 -1
- package/chunks/arcade.js +1 -1
- package/chunks/color.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/chunks/mat3.js +1 -1
- package/copyright.txt +2 -2
- package/core/AsyncUpdate.js +1 -1
- package/core/Evented.js +1 -1
- package/core/PooledArray.js +1 -1
- package/core/accessorSupport/diffUtils.js +1 -1
- package/core/accessorSupport/get.js +1 -1
- package/core/accessorSupport/read.js +1 -1
- package/core/accessorSupport/set.js +1 -1
- package/core/accessorSupport/tracking.js +1 -1
- package/core/accessorSupport/utils.js +1 -1
- package/core/arrayUtils.js +1 -1
- package/core/libs/gl-matrix-2/mat3.js +1 -1
- package/core/libs/gl-matrix-2/math/mat3.js +1 -1
- package/core/number.js +1 -1
- package/core/object.js +1 -1
- package/core/string.js +1 -1
- package/core/unitUtils.js +1 -1
- package/core/watchUtils.js +1 -1
- package/core/workers/RemoteClient.js +1 -1
- package/exports/csv.js +1 -1
- package/geometry/support/heightModelInfoUtils.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/geometry.js +1 -1
- package/geometry/support/normalizeUtils.js +1 -1
- package/identity/IdentityManagerBase.js +1 -1
- package/interfaces.d.ts +155 -20
- package/layers/ImageryLayer.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/RouteLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/TileLayer.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/WMSLayer.js +1 -1
- package/layers/WMTSLayer.js +1 -1
- package/layers/WebTileLayer.js +1 -1
- package/layers/graphics/data/AttributesBuilder.js +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/editingSupport.js +1 -1
- package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
- package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
- package/layers/graphics/sources/support/inferenceUtils.js +1 -1
- package/layers/mixins/ArcGISCachedService.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/ogc/ogcFeatureUtils.js +1 -1
- package/layers/support/ExportImageServiceParameters.js +1 -1
- package/layers/support/PixelBlock.js +1 -1
- package/layers/support/RasterJobHandler.js +1 -1
- package/layers/support/SpriteSource.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/TilemapCache.js +1 -1
- package/layers/support/WMTSSublayer.js +1 -1
- package/layers/support/arcgisLayerUrl.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/layers/support/kmlUtils.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/rasterDatasets/ImageAuxRaster.js +1 -1
- package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
- package/layers/support/rasterDatasets/RasterFactory.js +1 -1
- package/layers/support/rasterDatasets/WCSRaster.js +1 -1
- package/layers/support/rasterDatasets/multipartParser.js +1 -1
- package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
- package/layers/support/rasterDatasets/xmlUtilities.js +1 -1
- package/layers/support/rasterFormats/RasterCodec.js +1 -1
- package/layers/support/rasterFormats/TiffDecoder.js +1 -1
- package/layers/support/rasterFunctions/pixelUtils.js +1 -1
- package/layers/support/vectorTileLayerLoader.js +1 -1
- package/layers/support/wmsUtils.js +1 -1
- package/layers/support/wmtsUtils.js +1 -1
- package/libs/i3s/I3SModule.js +1 -1
- package/libs/vxl/VxlModule.js +1 -1
- package/package.json +1 -1
- package/portal/Portal.js +1 -1
- package/portal/PortalItem.js +1 -1
- package/portal/schemas/definitions.js +1 -1
- package/portal/support/layersLoader.js +1 -1
- package/portal/support/portalItemUtils.js +1 -1
- package/portal/support/portalLayers.js +1 -1
- package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
- package/renderers/support/DictionaryLoader.js +1 -1
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/renderers/support/numberUtils.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/renderers/support/utils.js +1 -1
- package/request.js +1 -1
- package/rest/imageService.js +1 -1
- package/rest/operations/find.js +1 -1
- package/rest/query/operations/query.js +1 -1
- package/rest/query/operations/queryRelatedRecords.js +1 -1
- package/rest/query/operations/queryTopFeatures.js +1 -1
- package/rest/support/DirectionLine.js +1 -1
- package/rest/support/DirectionPoint.js +1 -1
- package/rest/support/PointBarrier.js +1 -1
- package/rest/support/PolygonBarrier.js +1 -1
- package/rest/support/PolylineBarrier.js +1 -1
- package/rest/support/RouteInfo.js +1 -1
- package/rest/support/Stop.js +1 -1
- package/smartMapping/labels/clusters.js +1 -1
- package/smartMapping/popup/dotDensity.js +1 -1
- package/smartMapping/popup/support/clusterUtils.js +1 -1
- package/smartMapping/popup/support/utils.js +1 -1
- package/smartMapping/raster/support/utils.js +1 -1
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/location.js +1 -1
- package/smartMapping/renderers/predominance.js +1 -1
- package/smartMapping/renderers/relationship.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/utils.js +1 -1
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/smartMapping/statistics/summaryStatisticsForAge.js +1 -1
- package/smartMapping/statistics/support/ageUtils.js +1 -1
- package/smartMapping/statistics/support/utils.js +1 -1
- package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/support/utils.js +1 -1
- package/smartMapping/support/utils.js +1 -1
- package/smartMapping/symbology/support/Theme.js +1 -1
- package/smartMapping/symbology/support/colorRamps.js +1 -1
- package/smartMapping/symbology/support/symbologyUtils.js +1 -1
- package/smartMapping/symbology/support/utils.js +1 -1
- package/statistics/utils.js +1 -1
- package/support/basemapDefinitions.js +1 -1
- package/support/basemapUtils.js +1 -1
- package/support/elevationInfoUtils.js +1 -1
- package/support/popupUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMSymbolRasterizer.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/utils.js +1 -1
- package/symbols/support/previewSymbol3D.js +1 -1
- package/symbols/support/renderUtils.js +1 -1
- package/symbols/support/symbolLayerUtils.js +1 -1
- package/views/2d/engine/Bitmap.js +1 -1
- package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
- package/views/2d/engine/imagery/RasterBitmap.js +1 -1
- package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
- package/views/2d/engine/vectorTiles/TextShaping.js +1 -1
- package/views/2d/engine/vectorTiles/TileParser.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/SymbolBucket.js +1 -1
- package/views/2d/engine/vectorTiles/expression/expression.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
- package/views/2d/engine/webgl/Profiler.js +1 -1
- package/views/2d/engine/webgl/Utils.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLGeometryBrush.js +1 -1
- package/views/2d/engine/webgl/definitions.js +1 -1
- package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
- package/views/2d/engine/webgl/effects/HittestEffectVTL.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLTemplateStore.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/engine/webgl/util/Lock.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/2d/layers/features/schemaUtils.js +1 -1
- package/views/2d/layers/features/sources/SnapshotFeatureSource.js +1 -1
- package/views/2d/layers/features/support/AttributeStore.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
- package/views/2d/layers/features/tileRenderers/SymbolTileRenderer.js +1 -1
- package/views/2d/layers/support/webStyleUtils.js +1 -1
- package/views/2d/support/Timeline.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
- package/views/3d/analysis/Slice/SliceController.js +1 -1
- package/views/3d/environment/PanoramicAtmosphere.js +1 -1
- package/views/3d/environment/SceneViewAtmosphere.js +1 -1
- package/views/3d/environment/StarsTechnique.js +1 -1
- package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
- package/views/3d/glTF/loader.js +1 -1
- package/views/3d/interactive/analysisTools/lineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/interactive/analysisTools/slice/SliceTool.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/LayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
- package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/i3s/IDBMockCache.js +5 -0
- package/views/3d/layers/i3s/PointCloudWorkerUtil.js +1 -1
- package/views/3d/layers/support/PopupSceneLayerView.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/global/ZoomController.js +1 -1
- package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
- package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/local/ZoomController.js +1 -1
- package/views/3d/support/HighlightOptions.js +1 -1
- package/views/3d/support/buffer/InterleavedLayout.js +1 -1
- package/views/3d/support/debugFlags.js +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/webgl-engine/Stage.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/HighlightHelper.js +1 -1
- package/views/3d/webgl-engine/lib/Object3D.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderParameters.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightApplyTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightBlur.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightBlurTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightDownsample.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightDownsampleTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightOptions.js +4 -0
- package/views/3d/webgl-engine/shaders/HighlightPassParameters.js +5 -0
- package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +5 -7
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +14 -14
- package/views/SceneView.js +1 -1
- package/views/draw/support/GraphicMover.js +1 -1
- package/views/input/InputHandler.js +1 -1
- package/views/input/InputManager.js +1 -1
- package/views/layers/ImageryTileLayerView.js +1 -1
- package/views/layers/MapImageLayerView.js +1 -1
- package/views/layers/TileLayerView.js +1 -1
- package/views/layers/support/popupUtils.js +1 -1
- package/views/support/DefaultsFromMap.js +1 -1
- package/views/support/Scheduler.js +1 -1
- package/views/support/screenshotUtils.js +1 -1
- package/views/ui/DefaultUI.js +1 -1
- package/views/webgl/ShaderTranspiler.js +1 -1
- package/webscene/Slide.js +1 -1
- package/webscene/spec-certification/spec.js +1 -1
- package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
- package/widgets/Attachments/support/attachmentUtils.js +1 -1
- package/widgets/Attachments.js +1 -1
- package/widgets/Attribution.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/BuildingExplorer/support/filterUtils.js +1 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
- package/widgets/CoordinateConversion/support/coordinateConversionUtils.js +1 -1
- package/widgets/CoordinateConversion/support/formatUtils.js +1 -1
- package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
- package/widgets/Directions/DirectionsViewModel.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/InputField.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/Grid/Grid.js +1 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/LayerList/ListItemPanel.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/Legend/LegendViewModel.js +1 -1
- package/widgets/Legend/styles/Card.js +1 -1
- package/widgets/Legend/styles/Classic.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend/support/colorRampUtils.js +1 -1
- package/widgets/Legend/support/relationshipRampUtils.js +1 -1
- package/widgets/Legend/support/sizeRampUtils.js +1 -1
- package/widgets/Popup/PopupViewModel.js +1 -1
- package/widgets/Popup/actionUtils.js +1 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/ScaleBar/ScaleBarViewModel.js +1 -1
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Search/support/layerSearchUtils.js +1 -1
- package/widgets/Slider.js +1 -1
- package/widgets/Swipe.js +1 -1
- package/widgets/TableList.js +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
- package/widgets/TimeSlider.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/support/DatePicker.js +1 -1
- package/widgets/support/Popover.js +1 -1
- package/widgets/support/SnappingControls.js +1 -1
- package/widgets/support/TimePicker.js +1 -1
- package/widgets/support/timeWidgetUtils.js +1 -1
- package/assets/esri/core/workers/chunks/083a5d10f8e243641cb9.js +0 -1
- package/assets/esri/core/workers/chunks/0872812ce4d0ec8faf8f.js +0 -1
- package/assets/esri/core/workers/chunks/0bc26899780c33637746.js +0 -1
- package/assets/esri/core/workers/chunks/113362697da1b69deaed.js +0 -1
- package/assets/esri/core/workers/chunks/11a2f9708938eac98815.js +0 -1
- package/assets/esri/core/workers/chunks/11a45709b703be84caaf.js +0 -1
- package/assets/esri/core/workers/chunks/1c1294ff1ebbd8f774f7.js +0 -1
- package/assets/esri/core/workers/chunks/1c915cc9a9d5729b6f17.js +0 -1
- package/assets/esri/core/workers/chunks/31786756b3d44540f8c0.js +0 -1
- package/assets/esri/core/workers/chunks/36a6f34fe40785beff5d.js +0 -1
- package/assets/esri/core/workers/chunks/373c16f8b8093d001064.js +0 -1
- package/assets/esri/core/workers/chunks/382a331a592abb61267f.js +0 -1
- package/assets/esri/core/workers/chunks/3bf106fe34e3992032c4.js +0 -1
- package/assets/esri/core/workers/chunks/3dcec610f1c1497d87bc.js +0 -1
- package/assets/esri/core/workers/chunks/46495e726d8739260d44.js +0 -1
- package/assets/esri/core/workers/chunks/4a82a6a473b3d540d0be.js +0 -1
- package/assets/esri/core/workers/chunks/4b6719377a95ac10fa43.js +0 -1
- package/assets/esri/core/workers/chunks/4d2ef57ff3a5cfc1313f.js +0 -1
- package/assets/esri/core/workers/chunks/4fd2b8153d62592210a2.js +0 -1
- package/assets/esri/core/workers/chunks/56e6a1079269e2964b02.js +0 -1
- package/assets/esri/core/workers/chunks/5b4d9786c010d265346c.js +0 -1
- package/assets/esri/core/workers/chunks/604637e1c3937b376a0d.js +0 -1
- package/assets/esri/core/workers/chunks/60f83257e361f87fa6fd.js +0 -1
- package/assets/esri/core/workers/chunks/6d3f80be6fceb2c18b5d.js +0 -1
- package/assets/esri/core/workers/chunks/6f827a32646bab0a8777.js +0 -1
- package/assets/esri/core/workers/chunks/70bd2ab42e3801ef5974.js +0 -1
- package/assets/esri/core/workers/chunks/746222184b361b50d6ba.js +0 -1
- package/assets/esri/core/workers/chunks/7fb72b2d11e8d840f982.js +0 -1
- package/assets/esri/core/workers/chunks/85bb6a1a7704fcdcbec2.js +0 -1
- package/assets/esri/core/workers/chunks/8b4c76cebb100e6c06f8.js +0 -1
- package/assets/esri/core/workers/chunks/9586a6b320edb1922926.js +0 -1
- package/assets/esri/core/workers/chunks/99638697ffda9022ce92.js +0 -1
- package/assets/esri/core/workers/chunks/a9da1cb118ca62a9581d.js +0 -1
- package/assets/esri/core/workers/chunks/aaa41a5013eef713c032.js +0 -1
- package/assets/esri/core/workers/chunks/ac321f939dd488ff6ce4.js +0 -1
- package/assets/esri/core/workers/chunks/add6027a96398ecf69de.js +0 -1
- package/assets/esri/core/workers/chunks/b75206b46ba81606087c.js +0 -1
- package/assets/esri/core/workers/chunks/bf8456828e38a768eba3.js +0 -1
- package/assets/esri/core/workers/chunks/c0720d0d8adcba6738d4.js +0 -1
- package/assets/esri/core/workers/chunks/c5bb712d5cf8c05a4e13.js +0 -1
- package/assets/esri/core/workers/chunks/d343f05a3366f95e0494.js +0 -1
- package/assets/esri/core/workers/chunks/d8b1f00075983d769985.js +0 -1
- package/chunks/Highlight.glsl.js +0 -88
- package/views/3d/webgl-engine/shaders/Highlight.glsl.js +0 -5
- package/views/3d/webgl-engine/shaders/HighlightTechnique.js +0 -5
- package/views/3d/webgl-engine/shaders/HighlightTechniqueConfiguration.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.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../Graphic.js";import t from"../support/FeatureSet.js";import r from"../support/IdSet.js";import{defaultMaxRecords as i,IdState as s}from"../support/shared.js";import{create as a,all as n,resolve as l,reject as d}from"../../../core/promiseUtils.js";import o from"../../../rest/support/RelationshipQuery.js";class u extends t{constructor(e){super(e),this.declaredClass="esri.arcade.featureset.sources.FeatureLayerRelated",this._findObjectId=-1,this._requestStandardised=!1,this._removeGeometry=!1,this._overrideFields=null,this.featureObjectId=null,this.relatedLayer=null,this.relationship=null,e.spatialReference&&(this.spatialReference=e.spatialReference),this._transparent=!0,this._maxProcessing=1e3,this._layer=e.layer,this._wset=null,this._findObjectId=e.objectId,this.featureObjectId=e.objectId,this.relationship=e.relationship,this.relatedLayer=e.relatedLayer,void 0!==e.outFields&&(this._overrideFields=e.outFields),void 0!==e.includeGeometry&&(this._removeGeometry=!1===e.includeGeometry)}_maxQueryRate(){return i}end(){return this._layer}optimisePagingFeatureQueries(){}load(){return null===this._loadPromise&&(this._loadPromise=a(((e,t)=>{n([this._layer.load(),this.relatedLayer.load()]).then((()=>{this._initialiseFeatureSet(),e(this)}),t)}))),this._loadPromise}nativeCapabilities(){return this.relatedLayer.nativeCapabilities()}_initialiseFeatureSet(){if(null==this.spatialReference&&(this.spatialReference=this._layer.spatialReference),this.geometryType=this.relatedLayer.geometryType,this.fields=this.relatedLayer.fields.slice(0),null!==this._overrideFields)if(1===this._overrideFields.length&&"*"===this._overrideFields[0])this._overrideFields=null;else{const e=[],t=[];for(const r of this.fields)if("oid"===r.type)e.push(r),t.push(r.name);else for(const i of this._overrideFields)if(i.toLowerCase()===r.name.toLowerCase()){e.push(r),t.push(r.name);break}this.fields=e,this._overrideFields=t}const e=this._layer.nativeCapabilities();e&&(this._databaseType=e.databaseType,this._requestStandardised=e.requestStandardised),this.objectIdField=this.relatedLayer.objectIdField,this.globalIdField=this.relatedLayer.globalIdField,this.hasM=this.relatedLayer.supportsM,this.hasZ=this.relatedLayer.supportsZ,this.typeIdField=this.relatedLayer.typeIdField,this.types=this.relatedLayer.types}databaseType(){return this.relatedLayer.databaseType().then((()=>(this._databaseType=this.relatedLayer._databaseType,this._databaseType)))}isTable(){return this.relatedLayer.isTable()}_isInFeatureSet(){return s.InFeatureSet}_candidateIdTransform(e){return e}_getSet(e){return null===this._wset?this._ensureLoaded().then((()=>this._getFilteredSet("",null,null,null,e))).then((e=>(this._wset=e,e))):l(this._wset)}_changeFeature(t){const r={};for(const e of this.fields)r[e.name]=t.attributes[e.name];return new e({geometry:!0===this._removeGeometry?null:t.geometry,attributes:r})}_getFilteredSet(e,t,i,s,a){return this.databaseType().then((()=>{if(this.isTable()&&t&&null!==e&&""!==e){return new r([],[],!0,null)}const n=this._layer.nativeCapabilities();if(!1===n.canQueryRelated){return new r([],[],!0,null)}if(n.capabilities.queryRelated&&n.capabilities.queryRelated.supportsPagination)return this._getFilteredSetUsingPaging(e,t,i,s,a);let l="",d=!1;null!==s&&n.capabilities&&n.capabilities.queryRelated&&!0===n.capabilities.queryRelated.supportsOrderBy&&(l=s.constructClause(),d=!0);const u=new o;u.objectIds=[this._findObjectId];const h=null!==this._overrideFields?this._overrideFields:this._fieldsIncludingObjectId(this.relatedLayer.fields?this.relatedLayer.fields.map((e=>e.name)):["*"]);u.outFields=h,u.relationshipId=this.relationship.id,u.where="1=1";let c=!0;return!0===this._removeGeometry&&(c=!1),u.returnGeometry=c,this._requestStandardised&&(u.sqlFormat="standard"),u.outSpatialReference=this.spatialReference,u.orderByFields=""!==l?l.split(","):null,n.source.queryRelatedFeatures(u).then((s=>{this._checkCancelled(a);const n=s[this._findObjectId]?s[this._findObjectId].features:[],l=[];for(let e=0;e<n.length;e++)this._featureCache[n[e].attributes[this.relatedLayer.objectIdField]]=n[e],l.push(n[e].attributes[this.relatedLayer.objectIdField]);const o=t&&null!==e&&""!==e,u=null!=i;return new r(o||u?l:[],o||u?[]:l,d,null)}))}))}_fieldsIncludingObjectId(e){if(null===e)return[this.objectIdField];const t=e.slice(0);if(t.
|
|
5
|
+
import e from"../../../Graphic.js";import t from"../support/FeatureSet.js";import r from"../support/IdSet.js";import{defaultMaxRecords as i,IdState as s}from"../support/shared.js";import{create as a,all as n,resolve as l,reject as d}from"../../../core/promiseUtils.js";import o from"../../../rest/support/RelationshipQuery.js";class u extends t{constructor(e){super(e),this.declaredClass="esri.arcade.featureset.sources.FeatureLayerRelated",this._findObjectId=-1,this._requestStandardised=!1,this._removeGeometry=!1,this._overrideFields=null,this.featureObjectId=null,this.relatedLayer=null,this.relationship=null,e.spatialReference&&(this.spatialReference=e.spatialReference),this._transparent=!0,this._maxProcessing=1e3,this._layer=e.layer,this._wset=null,this._findObjectId=e.objectId,this.featureObjectId=e.objectId,this.relationship=e.relationship,this.relatedLayer=e.relatedLayer,void 0!==e.outFields&&(this._overrideFields=e.outFields),void 0!==e.includeGeometry&&(this._removeGeometry=!1===e.includeGeometry)}_maxQueryRate(){return i}end(){return this._layer}optimisePagingFeatureQueries(){}load(){return null===this._loadPromise&&(this._loadPromise=a(((e,t)=>{n([this._layer.load(),this.relatedLayer.load()]).then((()=>{this._initialiseFeatureSet(),e(this)}),t)}))),this._loadPromise}nativeCapabilities(){return this.relatedLayer.nativeCapabilities()}_initialiseFeatureSet(){if(null==this.spatialReference&&(this.spatialReference=this._layer.spatialReference),this.geometryType=this.relatedLayer.geometryType,this.fields=this.relatedLayer.fields.slice(0),null!==this._overrideFields)if(1===this._overrideFields.length&&"*"===this._overrideFields[0])this._overrideFields=null;else{const e=[],t=[];for(const r of this.fields)if("oid"===r.type)e.push(r),t.push(r.name);else for(const i of this._overrideFields)if(i.toLowerCase()===r.name.toLowerCase()){e.push(r),t.push(r.name);break}this.fields=e,this._overrideFields=t}const e=this._layer.nativeCapabilities();e&&(this._databaseType=e.databaseType,this._requestStandardised=e.requestStandardised),this.objectIdField=this.relatedLayer.objectIdField,this.globalIdField=this.relatedLayer.globalIdField,this.hasM=this.relatedLayer.supportsM,this.hasZ=this.relatedLayer.supportsZ,this.typeIdField=this.relatedLayer.typeIdField,this.types=this.relatedLayer.types}databaseType(){return this.relatedLayer.databaseType().then((()=>(this._databaseType=this.relatedLayer._databaseType,this._databaseType)))}isTable(){return this.relatedLayer.isTable()}_isInFeatureSet(){return s.InFeatureSet}_candidateIdTransform(e){return e}_getSet(e){return null===this._wset?this._ensureLoaded().then((()=>this._getFilteredSet("",null,null,null,e))).then((e=>(this._wset=e,e))):l(this._wset)}_changeFeature(t){const r={};for(const e of this.fields)r[e.name]=t.attributes[e.name];return new e({geometry:!0===this._removeGeometry?null:t.geometry,attributes:r})}_getFilteredSet(e,t,i,s,a){return this.databaseType().then((()=>{if(this.isTable()&&t&&null!==e&&""!==e){return new r([],[],!0,null)}const n=this._layer.nativeCapabilities();if(!1===n.canQueryRelated){return new r([],[],!0,null)}if(n.capabilities.queryRelated&&n.capabilities.queryRelated.supportsPagination)return this._getFilteredSetUsingPaging(e,t,i,s,a);let l="",d=!1;null!==s&&n.capabilities&&n.capabilities.queryRelated&&!0===n.capabilities.queryRelated.supportsOrderBy&&(l=s.constructClause(),d=!0);const u=new o;u.objectIds=[this._findObjectId];const h=null!==this._overrideFields?this._overrideFields:this._fieldsIncludingObjectId(this.relatedLayer.fields?this.relatedLayer.fields.map((e=>e.name)):["*"]);u.outFields=h,u.relationshipId=this.relationship.id,u.where="1=1";let c=!0;return!0===this._removeGeometry&&(c=!1),u.returnGeometry=c,this._requestStandardised&&(u.sqlFormat="standard"),u.outSpatialReference=this.spatialReference,u.orderByFields=""!==l?l.split(","):null,n.source.queryRelatedFeatures(u).then((s=>{this._checkCancelled(a);const n=s[this._findObjectId]?s[this._findObjectId].features:[],l=[];for(let e=0;e<n.length;e++)this._featureCache[n[e].attributes[this.relatedLayer.objectIdField]]=n[e],l.push(n[e].attributes[this.relatedLayer.objectIdField]);const o=t&&null!==e&&""!==e,u=null!=i;return new r(o||u?l:[],o||u?[]:l,d,null)}))}))}_fieldsIncludingObjectId(e){if(null===e)return[this.objectIdField];const t=e.slice(0);if(t.includes("*"))return t;let r=!1;for(const i of t)if(i.toUpperCase()===this.objectIdField.toUpperCase()){r=!0;break}return!1===r&&t.push(this.objectIdField),t}_getFilteredSetUsingPaging(e,t,i,s,a){try{let n="",l=!1;const d=this._layer.nativeCapabilities();return null!==s&&d&&d.capabilities.queryRelated&&!0===d.capabilities.queryRelated.supportsOrderBy&&(n=s.constructClause(),l=!0),this.databaseType().then((()=>{const s="1=1";let o=this._maxQueryRate();const u=d.capabilities.query.maxRecordCount;void 0!==u&&u<o&&(o=u);const h=t&&null!==e&&""!==e,c=null!=i;let p=null,y=!0;!0===this._removeGeometry&&(y=!1);const f=null!==this._overrideFields?this._overrideFields:this._fieldsIncludingObjectId(this.relatedLayer.fields?this.relatedLayer.fields.map((e=>e.name)):["*"]);return p=new r(h||c?["GETPAGES"]:[],h||c?[]:["GETPAGES"],l,{outFields:f.join(","),resultRecordCount:o,resultOffset:0,objectIds:[this._findObjectId],where:s,orderByFields:n,returnGeometry:y,returnIdsOnly:"false",internal:{set:[],lastRetrieved:0,lastPage:0,fullyResolved:!1}}),this._expandPagedSet(p,o,0,0,a).then((()=>p))}))}catch(n){return d(n)}}_expandPagedSet(e,t,r,i,s){return this._expandPagedSetFeatureSet(e,t,r,i,s)}_clonePageDefinition(e){return null===e?null:!0!==e.groupbypage?{groupbypage:!1,outFields:e.outFields,resultRecordCount:e.resultRecordCount,resultOffset:e.resultOffset,where:e.where,objectIds:e.objectIds,orderByFields:e.orderByFields,returnGeometry:e.returnGeometry,returnIdsOnly:e.returnIdsOnly,internal:e.internal}:{groupbypage:!0,outFields:e.outFields,resultRecordCount:e.resultRecordCount,useOIDpagination:e.useOIDpagination,generatedOid:e.generatedOid,groupByFieldsForStatistics:e.groupByFieldsForStatistics,resultOffset:e.resultOffset,outStatistics:e.outStatistics,geometry:e.geometry,where:e.where,objectIds:e.objectIds,orderByFields:e.orderByFields,returnGeometry:e.returnGeometry,returnIdsOnly:e.returnIdsOnly,internal:e.internal}}_getPhysicalPage(e,t,r){try{const t=e.pagesDefinition.internal.lastRetrieved,i=t,s=e.pagesDefinition.internal.lastPage,a=this._layer.nativeCapabilities(),n=new o;return!0===this._requestStandardised&&(n.sqlFormat="standard"),n.relationshipId=this.relationship.id,n.objectIds=e.pagesDefinition.objectIds,n.resultOffset=e.pagesDefinition.internal.lastPage,n.resultRecordCount=e.pagesDefinition.resultRecordCount,n.outFields=e.pagesDefinition.outFields.split(","),n.where=e.pagesDefinition.where,n.orderByFields=""!==e.pagesDefinition.orderByFields?e.pagesDefinition.orderByFields.split(","):null,n.returnGeometry=e.pagesDefinition.returnGeometry,n.outSpatialReference=this.spatialReference,a.source.queryRelatedFeatures(n).then((a=>{if(this._checkCancelled(r),e.pagesDefinition.internal.lastPage!==s)return 0;const n=a[this._findObjectId]?a[this._findObjectId].features:[];for(let t=0;t<n.length;t++)e.pagesDefinition.internal.set[i+t]=n[t].attributes[this.relatedLayer.objectIdField];for(let e=0;e<n.length;e++)this._featureCache[n[e].attributes[this.relatedLayer.objectIdField]]=n[e];const l=!a[this._findObjectId]||!1===a[this._findObjectId].exceededTransferLimit;return n.length!==e.pagesDefinition.resultRecordCount&&l&&(e.pagesDefinition.internal.fullyResolved=!0),e.pagesDefinition.internal.lastRetrieved=t+n.length,e.pagesDefinition.internal.lastPage+=e.pagesDefinition.resultRecordCount,n.length}))}catch(i){return d(i)}}_getFeatures(e,t,r,i){const s=[];-1!==t&&void 0===this._featureCache[t]&&s.push(t);const a=this._maxQueryRate();if(!0===this._checkIfNeedToExpandKnownPage(e,a))return this._expandPagedSet(e,a,0,0,i).then((()=>this._getFeatures(e,t,r,i)));let n=0;for(let l=e._lastFetchedIndex;l<e._known.length&&(n++,n<=r&&(e._lastFetchedIndex+=1),!("GETPAGES"!==e._known[l]&&void 0===this._featureCache[e._known[l]]&&(e._known[l]!==t&&s.push(e._known[l]),s.length>r)))&&!(n>=r&&0===s.length);l++);return 0===s.length?l("success"):d(new Error("Unaccounted for Features. Not in Feature Collection"))}_refineSetBlock(e,t,r){return l(e)}_stat(e,t,r,i,s,a,n){return l({calculated:!1})}get gdbVersion(){return this.relatedLayer.gdbVersion}_canDoAggregates(e,t,r,i,s){return l(!1)}relationshipMetaData(){return this.relatedLayer.relationshipMetaData()}serviceUrl(){return this.relatedLayer.serviceUrl()}queryAttachments(e,t,r,i,s){return this.relatedLayer.queryAttachments(e,t,r,i,s)}getFeatureByObjectId(e,t){return this.relatedLayer.getFeatureByObjectId(e,t)}getOwningSystemUrl(){return this.relatedLayer.getOwningSystemUrl()}getIdentityUser(){return this.relatedLayer.getIdentityUser()}getDataSourceFeatureSet(){return this.relatedLayer}}export{u 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.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"./cache.js";import t from"./FeatureSetIterator.js";import r from"./IdSet.js";import{FeatureServiceDatabaseType as n,layerGeometryEsriConstants as s,IdState as i,convertSquareUnitsToCode as a,convertLinearUnitsToCode as l,esriFieldToJson as h,layerGeometryEsriRestConstants as u}from"./shared.js";import{max as o,min as c,sum as d,variance as _,stdev as p,mean as f,distinct as g,count as m}from"./stats.js";import{create as y,resolve as b,reject as F,isPromiseLike as S}from"../../../core/promiseUtils.js";import{WhereClause as I}from"../../../core/sql/WhereClause.js";import{union as T,geodesicArea as P,planarArea as w,geodesicLength as D,planarLength as k}from"../../../geometry/geometryEngineAsync.js";import v from"../../../geometry/SpatialReference.js";import x from"../../../layers/support/FieldsIndex.js";class E{constructor(e){this.recentlyUsedQueries=null,this.featureSetQueryInterceptor=null,this._idstates=[],this._parent=null,this._wset=null,this._mainSetInUse=null,this._maxProcessing=200,this._maxQuery=500,this._totalCount=-1,this._databaseType=n.NotEvaluated,this._databaseTypeProbed=null,this.declaredRootClass="esri.arcade.featureset.support.FeatureSet",this._featureCache=[],this.types=null,this.fields=null,this.geometryType="",this.objectIdField="",this.globalIdField="",this.spatialReference=null,this.hasM=!1,this.hasZ=!1,this._transparent=!1,this.loaded=!1,this._loadPromise=null,this._fieldsIndex=null,e&&e.lrucache&&(this.recentlyUsedQueries=e.lrucache),e&&e.interceptor&&(this.featureSetQueryInterceptor=e.interceptor)}optimisePagingFeatureQueries(e){this._parent&&this._parent.optimisePagingFeatureQueries(e)}_hasMemorySource(){return!0}prop(e,t){return void 0===t?this[e]:(void 0!==this[e]&&(this[e]=t),this)}end(){return null!==this._parent&&!0===this._parent._transparent?this._parent.end():this._parent}_ensureLoaded(){return this.load()}load(){return null===this._loadPromise&&(this._loadPromise=y(((e,t)=>{if(!0===this._parent.loaded)return this._initialiseFeatureSet(),void e(this);this._parent.load().then((()=>{try{this._initialiseFeatureSet(),e(this)}catch(r){t(r)}}),t)}))),this._loadPromise}_initialiseFeatureSet(){null!==this._parent?(this.fields=this._parent.fields.slice(0),this.geometryType=this._parent.geometryType,this.objectIdField=this._parent.objectIdField,this.globalIdField=this._parent.globalIdField,this.spatialReference=this._parent.spatialReference,this.hasM=this._parent.hasM,this.hasZ=this._parent.hasZ,this.typeIdField=this._parent.typeIdField,this.types=this._parent.types):(this.fields=[],this.typeIdField="",this.objectIdField="",this.globalIdField="",this.spatialReference=new v({wkid:4326}),this.geometryType=s.point)}getField(e,t){let r;return(t=t||this.fields)&&(e=e.toLowerCase(),t.some((t=>(t&&t.name.toLowerCase()===e&&(r=t),!!r)))),r}getFieldsIndex(){return null===this._fieldsIndex&&(this._fieldsIndex=new x(this.fields)),this._fieldsIndex}_maxProcessingRate(){return null!==this._parent?Math.min(this._maxProcessing,this._parent._maxProcessingRate()):Math.min(this._maxProcessing,this._maxQueryRate())}_maxQueryRate(){return null!==this._parent?Math.max(this._maxQuery,this._parent._maxQueryRate()):this._maxQuery}_checkCancelled(e){if(null!==e&&e.aborted)throw new Error("Operation has been cancelled.")}nativeCapabilities(){return this._parent.nativeCapabilities()}_canDoAggregates(e,t,r,n,s){return null===this._parent?b(!1):this._parent._canDoAggregates(e,t,r,n,s)}_getAggregatePagesDataSourceDefinition(e,t,r,n,s,i,a){return null===this._parent?F(new Error("Should never be called")):this._parent._getAggregatePagesDataSourceDefinition(e,t,r,n,s,i,a)}_getAgregagtePhysicalPage(e,t,r){return null===this._parent?F(new Error("Should never be called")):this._parent._getAgregagtePhysicalPage(e,t,r)}databaseType(){if(this._databaseType===n.NotEvaluated){if(null!==e.applicationCache){const t=e.applicationCache.getDatabaseType(this._cacheableFeatureSetSourceKey());if(null!==t)return t}if(null!==this._databaseTypeProbed)return this._databaseTypeProbed;const t=[{thetype:n.SqlServer,testwhere:"(CAST( '2015-01-01' as DATETIME) = CAST( '2015-01-01' as DATETIME)) AND OBJECTID<0"},{thetype:n.Oracle,testwhere:"(TO_DATE('2003-11-18','YYYY-MM-DD') = TO_DATE('2003-11-18','YYYY-MM-DD')) AND OBJECTID<0"},{thetype:n.StandardisedNoInterval,testwhere:"(date '2015-01-01 10:10:10' = date '2015-01-01 10:10:10') AND OBJECTID<0"}];let r=y(((e,r)=>{this._getDatabaseTypeImpl(t,0).then((t=>{this._databaseType=t,e(this._databaseType)}),(e=>{r(e)}))}));return null!==e.applicationCache&&(e.applicationCache.setDatabaseType(this._cacheableFeatureSetSourceKey(),r),r=r.catch((t=>{throw e.applicationCache.clearDatabaseType(this._cacheableFeatureSetSourceKey()),t}))),this._databaseTypeProbed=r,this._databaseTypeProbed}return b(this._databaseType)}_cacheableFeatureSetSourceKey(){return"MUSTBESET"}_getDatabaseTypeImpl(e,t){return t>=e.length?b(n.StandardisedNoInterval):this._runDatabaseProbe(e[t].testwhere).then((r=>!0===r?e[t].thetype:this._getDatabaseTypeImpl(e,t+1)))}_runDatabaseProbe(e){return null!==this._parent?this._parent._runDatabaseProbe(e):F(new Error("Not Implemented"))}isTable(){return this._parent.isTable()}_featureFromCache(e){if(void 0!==this._featureCache[e])return this._featureCache[e]}_isInFeatureSet(e){return i.Unknown}_getSet(e){throw new Error("Not implemented in abstract class")}_getFeature(e,t,r){try{return this._checkCancelled(r),void 0!==this._featureFromCache(t)?b(this._featureFromCache(t)):this._getFeatures(e,t,this._maxProcessingRate(),r).then((()=>(this._checkCancelled(r),void 0!==this._featureFromCache(t)?this._featureFromCache(t):F(new Error("Feature Not Found")))))}catch(n){return F(n)}}_getFeatureBatch(e,t){try{this._checkCancelled(t);const n=new r([],e,!1,null),s=[];return this._getFeatures(n,-1,e.length,t).then((()=>{this._checkCancelled(t);for(const t of e)void 0!==this._featureFromCache(t)&&s.push(this._featureFromCache(t));return s}))}catch(n){return F(n)}}_getFeatures(e,t,r,n){return b("success")}_getFilteredSet(e,t,r,n,s){throw new Error("Not implemented in abstract class")}_refineSetBlock(e,t,r){try{if(!0===this._checkIfNeedToExpandCandidatePage(e,this._maxQueryRate()))return this._expandPagedSet(e,this._maxQueryRate(),0,0,r).then((()=>this._refineSetBlock(e,t,r)));this._checkCancelled(r);const n=e._candidates.length;this._refineKnowns(e,t);let s=n-e._candidates.length;return 0===e._candidates.length||s>=t?b(e):this._refineIfParentKnown(e,t-s,r).then((()=>{if(this._checkCancelled(r),this._refineKnowns(e,t-s),s=n-e._candidates.length,s<t&&e._candidates.length>0){const n=t-s,i=this._prepareFetchAndRefineSet(e._candidates);return this._fetchAndRefineFeatures(i,i.length>n?n:e._candidates.length,r).then((()=>(this._checkCancelled(r),this._refineKnowns(e,t-s),e)))}return e}))}catch(n){return F(n)}}_fetchAndRefineFeatures(e,t,r){return null}_prepareFetchAndRefineSet(e){const t=[];for(let r=0;r<e.length;r++)this._isPhysicalFeature(e[r])&&t.push(e[r]);return t}_isPhysicalFeature(e){return null===this._parent||this._parent._isPhysicalFeature(e)}_refineKnowns(e,t){let r=0,n=null;const s=[];t=this._maxQueryRate();for(let a=0;a<e._candidates.length&&"GETPAGES"!==e._candidates[a];a++){let l=!1;const h=this._candidateIdTransform(e._candidates[a]);h!==e._candidates[a]&&(l=!0);const u=this._isInFeatureSet(h);if(u===i.InFeatureSet)!0===l?e._known.indexOf(h)<0&&(e._known.push(h),r+=1):(e._known.push(e._candidates[a]),r+=1),null===n?n={start:a,end:a}:n.end===a-1?n.end=a:(s.push(n),n={start:a,end:a});else if(u===i.NotInFeatureSet)null===n?n={start:a,end:a}:n.end===a-1?n.end=a:(s.push(n),n={start:a,end:a}),r+=1;else if(u===i.Unknown&&(r+=1,!0===e._ordered))break;if(r>=t)break}null!==n&&s.push(n);for(let i=s.length-1;i>=0;i--)e._candidates.splice(s[i].start,s[i].end-s[i].start+1)}_refineIfParentKnown(e,t,n){const s=new r([],[],e._ordered,null);return s._candidates=e._candidates.slice(0),this._parent._refineSetBlock(s,t,n)}_candidateIdTransform(e){return this._parent._candidateIdTransform(e)}_checkIfNeedToExpandKnownPage(e,t){if(null===e.pagesDefinition)return!1;let r=0;for(let n=e._lastFetchedIndex;n<e._known.length;n++){if("GETPAGES"===e._known[n])return!0;if(void 0===this._featureCache[e._known[n]]&&(r+=1,r>=t))break}return!1}_checkIfNeedToExpandCandidatePage(e,t){if(null===e.pagesDefinition)return!1;let r=0;for(let n=0;n<e._candidates.length;n++){if("GETPAGES"===e._candidates[n])return!0;if(r+=1,r>=t)break}return!1}_expandPagedSet(e,t,r,n,s){return null===this._parent?F(new Error("Parent Paging not implemented")):this._parent._expandPagedSet(e,t,r,n,s)}_expandPagedSetFeatureSet(e,t,r,n,s){return e._known.length>0&&"GETPAGES"===e._known[e._known.length-1]&&(n=1),0===n&&e._candidates.length>0&&"GETPAGES"===e._candidates[e._candidates.length-1]&&(n=2),0===n?b("finished"):this._getPage(e,n,s).then((n=>r+n<t?this._expandPagedSet(e,t,r+n,0,s):"success"))}_getPage(e,t,r){const n=1===t?e._known:e._candidates;if(e.pagesDefinition.internal.set.length>e.pagesDefinition.resultOffset||!0===e.pagesDefinition.internal.fullyResolved){n.length=n.length-1;let t=0;for(let s=0;s<e.pagesDefinition.resultRecordCount&&!(e.pagesDefinition.resultOffset+s>=e.pagesDefinition.internal.set.length);s++)n[n.length]=e.pagesDefinition.internal.set[e.pagesDefinition.resultOffset+s],t++;e.pagesDefinition.resultOffset+=t;let r=!1;return!0===e.pagesDefinition.internal.fullyResolved&&e.pagesDefinition.internal.set.length<=e.pagesDefinition.resultOffset&&(r=!0),!1===r&&n.push("GETPAGES"),b(t)}return this._getPhysicalPage(e,t,r).then((()=>this._getPage(e,t,r)))}_getPhysicalPage(e,t,r){return null}_clonePageDefinition(e){return null===this._parent?null:this._parent._clonePageDefinition(e)}_first(e){return this.iterator(e).next()}first(e){return this._first(e)}calculateStatistic(e,t,r,n){return this._ensureLoaded().then((()=>this._stat(e,t,"",null,null,r,n).then((s=>!1===s.calculated?this._manualStat(e,t,r,n).then((e=>e.result)):s.result))))}_manualStat(e,t,r,n){switch(e.toLowerCase()){case"count":return m(this,n).then((e=>({calculated:!0,result:e})));case"distinct":return g(this,t,r).then((e=>({calculated:!0,result:e})));case"avg":case"mean":return f(this,t,n).then((e=>({calculated:!0,result:e})));case"stdev":return p(this,t,n).then((e=>({calculated:!0,result:e})));case"variance":return _(this,t,n).then((e=>({calculated:!0,result:e})));case"sum":return d(this,t,n).then((e=>({calculated:!0,result:e})));case"min":return c(this,t,n).then((e=>({calculated:!0,result:e})));case"max":return o(this,t,n).then((e=>({calculated:!0,result:e})));default:return b({calculated:!0,result:0})}}_stat(e,t,r,n,s,i,a){return this._parent._stat(e,t,r,n,s,i,a).then((l=>!1===l.calculated?null===s&&""===r&&null===n?this._manualStat(e,t,i,a):{calculated:!1}:l))}_unionAllGeomSelf(e){const t=this.iterator(this._defaultTracker(e)),r=[];return y(((e,n)=>{this._unionShapeInBatches(r,t,e,n)}))}_unionAllGeom(e){return y(((t,r)=>{const n=this.iterator(this._defaultTracker(e)),s=[];this._unionShapeInBatches(s,n,t,r)}))}_unionShapeInBatches(e,t,r,n){t.next().then((s=>{try{null!==s&&null!==s.geometry&&e.push(s.geometry),e.length>30||null===s&&e.length>1?T(e).then((i=>{try{null===s?r(i):(e=[i],this._unionShapeInBatches(e,t,r,n))}catch(a){n(a)}}),n):null===s?1===e.length?r(e[0]):r(null):this._unionShapeInBatches(e,t,r,n)}catch(i){n(i)}}),n)}iterator(e){return new t(this,e)}intersection(e,t=!1){return E._featuresetFunctions.intersection.bind(this)(e,t)}difference(e,t=!1,r=!0){return E._featuresetFunctions.difference.bind(this)(e,t,r)}symmetricDifference(e,t=!1,r=!0){return E._featuresetFunctions.symmetricDifference.bind(this)(e,t,r)}morphShape(e,t,r="unknown",n=null){return E._featuresetFunctions.morphShape.bind(this)(e,t,r,n)}morphShapeAndAttributes(e,t,r="unknown"){return E._featuresetFunctions.morphShapeAndAttributes.bind(this)(e,t,r)}union(e,t=!1){return E._featuresetFunctions.union.bind(this)(e,t)}intersects(e){return E._featuresetFunctions.intersects.bind(this)(e)}envelopeIntersects(e){return E._featuresetFunctions.envelopeIntersects.bind(this)(e)}contains(e){return E._featuresetFunctions.contains.bind(this)(e)}overlaps(e){return E._featuresetFunctions.overlaps.bind(this)(e)}relate(e,t){return E._featuresetFunctions.relate.bind(this)(e,t)}within(e){return E._featuresetFunctions.within.bind(this)(e)}touches(e){return E._featuresetFunctions.touches.bind(this)(e)}top(e){return E._featuresetFunctions.top.bind(this)(e)}crosses(e){return E._featuresetFunctions.crosses.bind(this)(e)}buffer(e,t,r,n=!0){return E._featuresetFunctions.buffer.bind(this)(e,t,r,n)}filter(e,t=null){return E._featuresetFunctions.filter.bind(this)(e,t)}orderBy(e){return E._featuresetFunctions.orderBy.bind(this)(e)}dissolve(e,t){return E._featuresetFunctions.dissolve.bind(this)(e,t)}groupby(e,t){return E._featuresetFunctions.groupby.bind(this)(e,t)}reduce(e,t=null,r){return y(((n,s)=>{this._reduceImpl(this.iterator(this._defaultTracker(r)),e,t,0,n,s,0)}))}_reduceImpl(e,t,r,n,s,i,a){try{if(++a>1e3)return void setTimeout((()=>{a=0,this._reduceImpl(e,t,r,n,s,i,a)}));e.next().then((l=>{try{if(null===l)s(r);else{const h=t(r,l,n,this);S(h)?h.then((r=>{this._reduceImpl(e,t,r,n+1,s,i,a)}),i):this._reduceImpl(e,t,h,n+1,s,i,a)}}catch(h){i(h)}}),i)}catch(l){i(l)}}removeField(e){return E._featuresetFunctions.removeField.bind(this)(e)}addField(e,t,r=null){return E._featuresetFunctions.addField.bind(this)(e,t,r)}sumArea(e,t=!1,r){const n=a(e);return this.reduce(((e,r)=>null===r.geometry?0:t?P(r.geometry,n).then((t=>e+t)):w(r.geometry,n).then((t=>e+t))),0,r)}sumLength(e,t=!1,r){const n=l(e);return this.reduce(((e,r)=>null===r.geometry?0:t?D(r.geometry,n).then((t=>e+t)):k(r.geometry,n).then((t=>e+t))),0,r)}_substituteVars(e,t){if(null!==t){const r={};for(const e in t)r[e.toLowerCase()]=t[e];e.parameters=r}}distinct(e,t=1e3,r=null,n){return this.load().then((()=>{const s=I.create(e,this.getFieldsIndex());return this._substituteVars(s,r),this.calculateStatistic("distinct",s,t,this._defaultTracker(n))}))}min(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("min",n,-1,this._defaultTracker(r))}))}max(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("max",n,-1,this._defaultTracker(r))}))}avg(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("avg",n,-1,this._defaultTracker(r))}))}sum(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("sum",n,-1,this._defaultTracker(r))}))}stdev(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("stdev",n,-1,this._defaultTracker(r))}))}variance(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("variance",n,-1,this._defaultTracker(r))}))}count(e){return this.load().then((()=>this.calculateStatistic("count",I.create("1",this.getFieldsIndex()),-1,this._defaultTracker(e))))}_defaultTracker(e){return e||{aborted:!1}}forEach(e,t){return y(((r,n)=>{this._forEachImpl(this.iterator(this._defaultTracker(t)),e,this,r,n,0)}))}_forEachImpl(e,t,r,n,s,i){try{if(++i>1e3)return void setTimeout((()=>{i=0,this._forEachImpl(e,t,r,n,s,i)}),0);e.next().then((a=>{try{if(null===a)n(r);else{const l=t(a);null==l?this._forEachImpl(e,t,r,n,s,i):S(l)?l.then((()=>{try{this._forEachImpl(e,t,r,n,s,i)}catch(a){s(a)}}),s):this._forEachImpl(e,t,r,n,s,i)}}catch(l){s(l)}}),s)}catch(a){s(a)}}convertToJSON(e){const t={layerDefinition:{geometryType:this.geometryType,fields:[]},featureSet:{features:[],geometryType:this.geometryType}};for(let r=0;r<this.fields.length;r++)t.layerDefinition.fields.push(h(this.fields[r]));return this.reduce(((e,r)=>{const n={geometry:r.geometry&&r.geometry.toJSON(),attributes:{}};for(const t in r.attributes)n.attributes[t]=r.attributes[t];return t.featureSet.features.push(n),1}),0,e).then((()=>t))}castToText(){return"object, FeatureSet"}queryAttachments(e,t,r,n,s){return this._parent.queryAttachments(e,t,r,n,s)}serviceUrl(){return this._parent.serviceUrl()}subtypes(){return this.typeIdField?{subtypeField:this.typeIdField,subtypes:this.types?this.types.map((e=>({name:e.name,code:e.id}))):[]}:null}relationshipMetaData(){return this._parent.relationshipMetaData()}get gdbVersion(){return this._parent?this._parent.gdbVersion:""}schema(){const e=[];for(const t of this.fields)e.push(h(t));return{objectIdField:this.objectIdField,globalIdField:this.globalIdField,geometryType:void 0===u[this.geometryType]?"":u[this.geometryType],fields:e}}convertToText(e,t){return"schema"===e?this._ensureLoaded().then((()=>JSON.stringify(this.schema()))):"featureset"===e?this._ensureLoaded().then((()=>{const e=[];return this.reduce(((t,r)=>{const n={geometry:r.geometry?r.geometry.toJSON():null,attributes:r.attributes};return null!==n.geometry&&n.geometry.spatialReference&&delete n.geometry.spatialReference,e.push(n),1}),0,t).then((()=>{const t=this.schema();return t.features=e,t.spatialReference=this.spatialReference.toJSON(),JSON.stringify(t)}))})):b(this.castToText())}getFeatureByObjectId(e,t){return this._parent.getFeatureByObjectId(e,t)}getOwningSystemUrl(){return this._parent.getOwningSystemUrl()}getIdentityUser(){return this._parent.getIdentityUser()}getRootFeatureSet(){return null!==this._parent?this._parent.getRootFeatureSet():this}getDataSourceFeatureSet(){return null!==this._parent?this._parent.getDataSourceFeatureSet():this}castAsJson(e=null){return"keeptype"===(null==e?void 0:e.featureset)?this:"none"===(null==e?void 0:e.featureset)?null:{type:"FeatureSet"}}castAsJsonAsync(e=null,t=null){return"keeptype"===(null==t?void 0:t.featureset)?b(this):"schema"===(null==t?void 0:t.featureset)?this._ensureLoaded().then((()=>JSON.parse(JSON.stringify(this.schema())))):"none"===(null==t?void 0:t.featureset)?b(null):this._ensureLoaded().then((()=>{const r=[];return this.reduce(((e,n)=>{const s={geometry:n.geometry?!0===(null==t?void 0:t.keepGeometryType)?n.geometry:n.geometry.toJSON():null,attributes:n.attributes};return null!==s.geometry&&s.geometry.spatialReference&&!0!==(null==t?void 0:t.keepGeometryType)&&delete s.geometry.spatialReference,r.push(s),1}),0,e).then((()=>{const e=this.schema();return e.features=r,e.spatialReference=!0===(null==t?void 0:t.keepGeometryType)?this.spatialReference:this.spatialReference.toJSON(),e}))}))}}E._featuresetFunctions={};export{E as default};
|
|
5
|
+
import e from"./cache.js";import t from"./FeatureSetIterator.js";import r from"./IdSet.js";import{FeatureServiceDatabaseType as n,layerGeometryEsriConstants as s,IdState as i,convertSquareUnitsToCode as a,convertLinearUnitsToCode as l,esriFieldToJson as h,layerGeometryEsriRestConstants as u}from"./shared.js";import{max as o,min as c,sum as d,variance as _,stdev as p,mean as f,distinct as g,count as m}from"./stats.js";import{create as y,resolve as b,reject as F,isPromiseLike as S}from"../../../core/promiseUtils.js";import{WhereClause as I}from"../../../core/sql/WhereClause.js";import{union as T,geodesicArea as P,planarArea as w,geodesicLength as D,planarLength as k}from"../../../geometry/geometryEngineAsync.js";import v from"../../../geometry/SpatialReference.js";import x from"../../../layers/support/FieldsIndex.js";class E{constructor(e){this.recentlyUsedQueries=null,this.featureSetQueryInterceptor=null,this._idstates=[],this._parent=null,this._wset=null,this._mainSetInUse=null,this._maxProcessing=200,this._maxQuery=500,this._totalCount=-1,this._databaseType=n.NotEvaluated,this._databaseTypeProbed=null,this.declaredRootClass="esri.arcade.featureset.support.FeatureSet",this._featureCache=[],this.types=null,this.fields=null,this.geometryType="",this.objectIdField="",this.globalIdField="",this.spatialReference=null,this.hasM=!1,this.hasZ=!1,this._transparent=!1,this.loaded=!1,this._loadPromise=null,this._fieldsIndex=null,e&&e.lrucache&&(this.recentlyUsedQueries=e.lrucache),e&&e.interceptor&&(this.featureSetQueryInterceptor=e.interceptor)}optimisePagingFeatureQueries(e){this._parent&&this._parent.optimisePagingFeatureQueries(e)}_hasMemorySource(){return!0}prop(e,t){return void 0===t?this[e]:(void 0!==this[e]&&(this[e]=t),this)}end(){return null!==this._parent&&!0===this._parent._transparent?this._parent.end():this._parent}_ensureLoaded(){return this.load()}load(){return null===this._loadPromise&&(this._loadPromise=y(((e,t)=>{if(!0===this._parent.loaded)return this._initialiseFeatureSet(),void e(this);this._parent.load().then((()=>{try{this._initialiseFeatureSet(),e(this)}catch(r){t(r)}}),t)}))),this._loadPromise}_initialiseFeatureSet(){null!==this._parent?(this.fields=this._parent.fields.slice(0),this.geometryType=this._parent.geometryType,this.objectIdField=this._parent.objectIdField,this.globalIdField=this._parent.globalIdField,this.spatialReference=this._parent.spatialReference,this.hasM=this._parent.hasM,this.hasZ=this._parent.hasZ,this.typeIdField=this._parent.typeIdField,this.types=this._parent.types):(this.fields=[],this.typeIdField="",this.objectIdField="",this.globalIdField="",this.spatialReference=new v({wkid:4326}),this.geometryType=s.point)}getField(e,t){let r;return(t=t||this.fields)&&(e=e.toLowerCase(),t.some((t=>(t&&t.name.toLowerCase()===e&&(r=t),!!r)))),r}getFieldsIndex(){return null===this._fieldsIndex&&(this._fieldsIndex=new x(this.fields)),this._fieldsIndex}_maxProcessingRate(){return null!==this._parent?Math.min(this._maxProcessing,this._parent._maxProcessingRate()):Math.min(this._maxProcessing,this._maxQueryRate())}_maxQueryRate(){return null!==this._parent?Math.max(this._maxQuery,this._parent._maxQueryRate()):this._maxQuery}_checkCancelled(e){if(null!==e&&e.aborted)throw new Error("Operation has been cancelled.")}nativeCapabilities(){return this._parent.nativeCapabilities()}_canDoAggregates(e,t,r,n,s){return null===this._parent?b(!1):this._parent._canDoAggregates(e,t,r,n,s)}_getAggregatePagesDataSourceDefinition(e,t,r,n,s,i,a){return null===this._parent?F(new Error("Should never be called")):this._parent._getAggregatePagesDataSourceDefinition(e,t,r,n,s,i,a)}_getAgregagtePhysicalPage(e,t,r){return null===this._parent?F(new Error("Should never be called")):this._parent._getAgregagtePhysicalPage(e,t,r)}databaseType(){if(this._databaseType===n.NotEvaluated){if(null!==e.applicationCache){const t=e.applicationCache.getDatabaseType(this._cacheableFeatureSetSourceKey());if(null!==t)return t}if(null!==this._databaseTypeProbed)return this._databaseTypeProbed;const t=[{thetype:n.SqlServer,testwhere:"(CAST( '2015-01-01' as DATETIME) = CAST( '2015-01-01' as DATETIME)) AND OBJECTID<0"},{thetype:n.Oracle,testwhere:"(TO_DATE('2003-11-18','YYYY-MM-DD') = TO_DATE('2003-11-18','YYYY-MM-DD')) AND OBJECTID<0"},{thetype:n.StandardisedNoInterval,testwhere:"(date '2015-01-01 10:10:10' = date '2015-01-01 10:10:10') AND OBJECTID<0"}];let r=y(((e,r)=>{this._getDatabaseTypeImpl(t,0).then((t=>{this._databaseType=t,e(this._databaseType)}),(e=>{r(e)}))}));return null!==e.applicationCache&&(e.applicationCache.setDatabaseType(this._cacheableFeatureSetSourceKey(),r),r=r.catch((t=>{throw e.applicationCache.clearDatabaseType(this._cacheableFeatureSetSourceKey()),t}))),this._databaseTypeProbed=r,this._databaseTypeProbed}return b(this._databaseType)}_cacheableFeatureSetSourceKey(){return"MUSTBESET"}_getDatabaseTypeImpl(e,t){return t>=e.length?b(n.StandardisedNoInterval):this._runDatabaseProbe(e[t].testwhere).then((r=>!0===r?e[t].thetype:this._getDatabaseTypeImpl(e,t+1)))}_runDatabaseProbe(e){return null!==this._parent?this._parent._runDatabaseProbe(e):F(new Error("Not Implemented"))}isTable(){return this._parent.isTable()}_featureFromCache(e){if(void 0!==this._featureCache[e])return this._featureCache[e]}_isInFeatureSet(e){return i.Unknown}_getSet(e){throw new Error("Not implemented in abstract class")}_getFeature(e,t,r){try{return this._checkCancelled(r),void 0!==this._featureFromCache(t)?b(this._featureFromCache(t)):this._getFeatures(e,t,this._maxProcessingRate(),r).then((()=>(this._checkCancelled(r),void 0!==this._featureFromCache(t)?this._featureFromCache(t):F(new Error("Feature Not Found")))))}catch(n){return F(n)}}_getFeatureBatch(e,t){try{this._checkCancelled(t);const n=new r([],e,!1,null),s=[];return this._getFeatures(n,-1,e.length,t).then((()=>{this._checkCancelled(t);for(const t of e)void 0!==this._featureFromCache(t)&&s.push(this._featureFromCache(t));return s}))}catch(n){return F(n)}}_getFeatures(e,t,r,n){return b("success")}_getFilteredSet(e,t,r,n,s){throw new Error("Not implemented in abstract class")}_refineSetBlock(e,t,r){try{if(!0===this._checkIfNeedToExpandCandidatePage(e,this._maxQueryRate()))return this._expandPagedSet(e,this._maxQueryRate(),0,0,r).then((()=>this._refineSetBlock(e,t,r)));this._checkCancelled(r);const n=e._candidates.length;this._refineKnowns(e,t);let s=n-e._candidates.length;return 0===e._candidates.length||s>=t?b(e):this._refineIfParentKnown(e,t-s,r).then((()=>{if(this._checkCancelled(r),this._refineKnowns(e,t-s),s=n-e._candidates.length,s<t&&e._candidates.length>0){const n=t-s,i=this._prepareFetchAndRefineSet(e._candidates);return this._fetchAndRefineFeatures(i,i.length>n?n:e._candidates.length,r).then((()=>(this._checkCancelled(r),this._refineKnowns(e,t-s),e)))}return e}))}catch(n){return F(n)}}_fetchAndRefineFeatures(e,t,r){return null}_prepareFetchAndRefineSet(e){const t=[];for(let r=0;r<e.length;r++)this._isPhysicalFeature(e[r])&&t.push(e[r]);return t}_isPhysicalFeature(e){return null===this._parent||this._parent._isPhysicalFeature(e)}_refineKnowns(e,t){let r=0,n=null;const s=[];t=this._maxQueryRate();for(let a=0;a<e._candidates.length&&"GETPAGES"!==e._candidates[a];a++){let l=!1;const h=this._candidateIdTransform(e._candidates[a]);h!==e._candidates[a]&&(l=!0);const u=this._isInFeatureSet(h);if(u===i.InFeatureSet)!0===l?e._known.includes(h)||(e._known.push(h),r+=1):(e._known.push(e._candidates[a]),r+=1),null===n?n={start:a,end:a}:n.end===a-1?n.end=a:(s.push(n),n={start:a,end:a});else if(u===i.NotInFeatureSet)null===n?n={start:a,end:a}:n.end===a-1?n.end=a:(s.push(n),n={start:a,end:a}),r+=1;else if(u===i.Unknown&&(r+=1,!0===e._ordered))break;if(r>=t)break}null!==n&&s.push(n);for(let i=s.length-1;i>=0;i--)e._candidates.splice(s[i].start,s[i].end-s[i].start+1)}_refineIfParentKnown(e,t,n){const s=new r([],[],e._ordered,null);return s._candidates=e._candidates.slice(0),this._parent._refineSetBlock(s,t,n)}_candidateIdTransform(e){return this._parent._candidateIdTransform(e)}_checkIfNeedToExpandKnownPage(e,t){if(null===e.pagesDefinition)return!1;let r=0;for(let n=e._lastFetchedIndex;n<e._known.length;n++){if("GETPAGES"===e._known[n])return!0;if(void 0===this._featureCache[e._known[n]]&&(r+=1,r>=t))break}return!1}_checkIfNeedToExpandCandidatePage(e,t){if(null===e.pagesDefinition)return!1;let r=0;for(let n=0;n<e._candidates.length;n++){if("GETPAGES"===e._candidates[n])return!0;if(r+=1,r>=t)break}return!1}_expandPagedSet(e,t,r,n,s){return null===this._parent?F(new Error("Parent Paging not implemented")):this._parent._expandPagedSet(e,t,r,n,s)}_expandPagedSetFeatureSet(e,t,r,n,s){return e._known.length>0&&"GETPAGES"===e._known[e._known.length-1]&&(n=1),0===n&&e._candidates.length>0&&"GETPAGES"===e._candidates[e._candidates.length-1]&&(n=2),0===n?b("finished"):this._getPage(e,n,s).then((n=>r+n<t?this._expandPagedSet(e,t,r+n,0,s):"success"))}_getPage(e,t,r){const n=1===t?e._known:e._candidates;if(e.pagesDefinition.internal.set.length>e.pagesDefinition.resultOffset||!0===e.pagesDefinition.internal.fullyResolved){n.length=n.length-1;let t=0;for(let s=0;s<e.pagesDefinition.resultRecordCount&&!(e.pagesDefinition.resultOffset+s>=e.pagesDefinition.internal.set.length);s++)n[n.length]=e.pagesDefinition.internal.set[e.pagesDefinition.resultOffset+s],t++;e.pagesDefinition.resultOffset+=t;let r=!1;return!0===e.pagesDefinition.internal.fullyResolved&&e.pagesDefinition.internal.set.length<=e.pagesDefinition.resultOffset&&(r=!0),!1===r&&n.push("GETPAGES"),b(t)}return this._getPhysicalPage(e,t,r).then((()=>this._getPage(e,t,r)))}_getPhysicalPage(e,t,r){return null}_clonePageDefinition(e){return null===this._parent?null:this._parent._clonePageDefinition(e)}_first(e){return this.iterator(e).next()}first(e){return this._first(e)}calculateStatistic(e,t,r,n){return this._ensureLoaded().then((()=>this._stat(e,t,"",null,null,r,n).then((s=>!1===s.calculated?this._manualStat(e,t,r,n).then((e=>e.result)):s.result))))}_manualStat(e,t,r,n){switch(e.toLowerCase()){case"count":return m(this,n).then((e=>({calculated:!0,result:e})));case"distinct":return g(this,t,r).then((e=>({calculated:!0,result:e})));case"avg":case"mean":return f(this,t,n).then((e=>({calculated:!0,result:e})));case"stdev":return p(this,t,n).then((e=>({calculated:!0,result:e})));case"variance":return _(this,t,n).then((e=>({calculated:!0,result:e})));case"sum":return d(this,t,n).then((e=>({calculated:!0,result:e})));case"min":return c(this,t,n).then((e=>({calculated:!0,result:e})));case"max":return o(this,t,n).then((e=>({calculated:!0,result:e})));default:return b({calculated:!0,result:0})}}_stat(e,t,r,n,s,i,a){return this._parent._stat(e,t,r,n,s,i,a).then((l=>!1===l.calculated?null===s&&""===r&&null===n?this._manualStat(e,t,i,a):{calculated:!1}:l))}_unionAllGeomSelf(e){const t=this.iterator(this._defaultTracker(e)),r=[];return y(((e,n)=>{this._unionShapeInBatches(r,t,e,n)}))}_unionAllGeom(e){return y(((t,r)=>{const n=this.iterator(this._defaultTracker(e)),s=[];this._unionShapeInBatches(s,n,t,r)}))}_unionShapeInBatches(e,t,r,n){t.next().then((s=>{try{null!==s&&null!==s.geometry&&e.push(s.geometry),e.length>30||null===s&&e.length>1?T(e).then((i=>{try{null===s?r(i):(e=[i],this._unionShapeInBatches(e,t,r,n))}catch(a){n(a)}}),n):null===s?1===e.length?r(e[0]):r(null):this._unionShapeInBatches(e,t,r,n)}catch(i){n(i)}}),n)}iterator(e){return new t(this,e)}intersection(e,t=!1){return E._featuresetFunctions.intersection.bind(this)(e,t)}difference(e,t=!1,r=!0){return E._featuresetFunctions.difference.bind(this)(e,t,r)}symmetricDifference(e,t=!1,r=!0){return E._featuresetFunctions.symmetricDifference.bind(this)(e,t,r)}morphShape(e,t,r="unknown",n=null){return E._featuresetFunctions.morphShape.bind(this)(e,t,r,n)}morphShapeAndAttributes(e,t,r="unknown"){return E._featuresetFunctions.morphShapeAndAttributes.bind(this)(e,t,r)}union(e,t=!1){return E._featuresetFunctions.union.bind(this)(e,t)}intersects(e){return E._featuresetFunctions.intersects.bind(this)(e)}envelopeIntersects(e){return E._featuresetFunctions.envelopeIntersects.bind(this)(e)}contains(e){return E._featuresetFunctions.contains.bind(this)(e)}overlaps(e){return E._featuresetFunctions.overlaps.bind(this)(e)}relate(e,t){return E._featuresetFunctions.relate.bind(this)(e,t)}within(e){return E._featuresetFunctions.within.bind(this)(e)}touches(e){return E._featuresetFunctions.touches.bind(this)(e)}top(e){return E._featuresetFunctions.top.bind(this)(e)}crosses(e){return E._featuresetFunctions.crosses.bind(this)(e)}buffer(e,t,r,n=!0){return E._featuresetFunctions.buffer.bind(this)(e,t,r,n)}filter(e,t=null){return E._featuresetFunctions.filter.bind(this)(e,t)}orderBy(e){return E._featuresetFunctions.orderBy.bind(this)(e)}dissolve(e,t){return E._featuresetFunctions.dissolve.bind(this)(e,t)}groupby(e,t){return E._featuresetFunctions.groupby.bind(this)(e,t)}reduce(e,t=null,r){return y(((n,s)=>{this._reduceImpl(this.iterator(this._defaultTracker(r)),e,t,0,n,s,0)}))}_reduceImpl(e,t,r,n,s,i,a){try{if(++a>1e3)return void setTimeout((()=>{a=0,this._reduceImpl(e,t,r,n,s,i,a)}));e.next().then((l=>{try{if(null===l)s(r);else{const h=t(r,l,n,this);S(h)?h.then((r=>{this._reduceImpl(e,t,r,n+1,s,i,a)}),i):this._reduceImpl(e,t,h,n+1,s,i,a)}}catch(h){i(h)}}),i)}catch(l){i(l)}}removeField(e){return E._featuresetFunctions.removeField.bind(this)(e)}addField(e,t,r=null){return E._featuresetFunctions.addField.bind(this)(e,t,r)}sumArea(e,t=!1,r){const n=a(e);return this.reduce(((e,r)=>null===r.geometry?0:t?P(r.geometry,n).then((t=>e+t)):w(r.geometry,n).then((t=>e+t))),0,r)}sumLength(e,t=!1,r){const n=l(e);return this.reduce(((e,r)=>null===r.geometry?0:t?D(r.geometry,n).then((t=>e+t)):k(r.geometry,n).then((t=>e+t))),0,r)}_substituteVars(e,t){if(null!==t){const r={};for(const e in t)r[e.toLowerCase()]=t[e];e.parameters=r}}distinct(e,t=1e3,r=null,n){return this.load().then((()=>{const s=I.create(e,this.getFieldsIndex());return this._substituteVars(s,r),this.calculateStatistic("distinct",s,t,this._defaultTracker(n))}))}min(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("min",n,-1,this._defaultTracker(r))}))}max(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("max",n,-1,this._defaultTracker(r))}))}avg(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("avg",n,-1,this._defaultTracker(r))}))}sum(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("sum",n,-1,this._defaultTracker(r))}))}stdev(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("stdev",n,-1,this._defaultTracker(r))}))}variance(e,t=null,r){return this.load().then((()=>{const n=I.create(e,this.getFieldsIndex());return this._substituteVars(n,t),this.calculateStatistic("variance",n,-1,this._defaultTracker(r))}))}count(e){return this.load().then((()=>this.calculateStatistic("count",I.create("1",this.getFieldsIndex()),-1,this._defaultTracker(e))))}_defaultTracker(e){return e||{aborted:!1}}forEach(e,t){return y(((r,n)=>{this._forEachImpl(this.iterator(this._defaultTracker(t)),e,this,r,n,0)}))}_forEachImpl(e,t,r,n,s,i){try{if(++i>1e3)return void setTimeout((()=>{i=0,this._forEachImpl(e,t,r,n,s,i)}),0);e.next().then((a=>{try{if(null===a)n(r);else{const l=t(a);null==l?this._forEachImpl(e,t,r,n,s,i):S(l)?l.then((()=>{try{this._forEachImpl(e,t,r,n,s,i)}catch(a){s(a)}}),s):this._forEachImpl(e,t,r,n,s,i)}}catch(l){s(l)}}),s)}catch(a){s(a)}}convertToJSON(e){const t={layerDefinition:{geometryType:this.geometryType,fields:[]},featureSet:{features:[],geometryType:this.geometryType}};for(let r=0;r<this.fields.length;r++)t.layerDefinition.fields.push(h(this.fields[r]));return this.reduce(((e,r)=>{const n={geometry:r.geometry&&r.geometry.toJSON(),attributes:{}};for(const t in r.attributes)n.attributes[t]=r.attributes[t];return t.featureSet.features.push(n),1}),0,e).then((()=>t))}castToText(){return"object, FeatureSet"}queryAttachments(e,t,r,n,s){return this._parent.queryAttachments(e,t,r,n,s)}serviceUrl(){return this._parent.serviceUrl()}subtypes(){return this.typeIdField?{subtypeField:this.typeIdField,subtypes:this.types?this.types.map((e=>({name:e.name,code:e.id}))):[]}:null}relationshipMetaData(){return this._parent.relationshipMetaData()}get gdbVersion(){return this._parent?this._parent.gdbVersion:""}schema(){const e=[];for(const t of this.fields)e.push(h(t));return{objectIdField:this.objectIdField,globalIdField:this.globalIdField,geometryType:void 0===u[this.geometryType]?"":u[this.geometryType],fields:e}}convertToText(e,t){return"schema"===e?this._ensureLoaded().then((()=>JSON.stringify(this.schema()))):"featureset"===e?this._ensureLoaded().then((()=>{const e=[];return this.reduce(((t,r)=>{const n={geometry:r.geometry?r.geometry.toJSON():null,attributes:r.attributes};return null!==n.geometry&&n.geometry.spatialReference&&delete n.geometry.spatialReference,e.push(n),1}),0,t).then((()=>{const t=this.schema();return t.features=e,t.spatialReference=this.spatialReference.toJSON(),JSON.stringify(t)}))})):b(this.castToText())}getFeatureByObjectId(e,t){return this._parent.getFeatureByObjectId(e,t)}getOwningSystemUrl(){return this._parent.getOwningSystemUrl()}getIdentityUser(){return this._parent.getIdentityUser()}getRootFeatureSet(){return null!==this._parent?this._parent.getRootFeatureSet():this}getDataSourceFeatureSet(){return null!==this._parent?this._parent.getDataSourceFeatureSet():this}castAsJson(e=null){return"keeptype"===(null==e?void 0:e.featureset)?this:"none"===(null==e?void 0:e.featureset)?null:{type:"FeatureSet"}}castAsJsonAsync(e=null,t=null){return"keeptype"===(null==t?void 0:t.featureset)?b(this):"schema"===(null==t?void 0:t.featureset)?this._ensureLoaded().then((()=>JSON.parse(JSON.stringify(this.schema())))):"none"===(null==t?void 0:t.featureset)?b(null):this._ensureLoaded().then((()=>{const r=[];return this.reduce(((e,n)=>{const s={geometry:n.geometry?!0===(null==t?void 0:t.keepGeometryType)?n.geometry:n.geometry.toJSON():null,attributes:n.attributes};return null!==s.geometry&&s.geometry.spatialReference&&!0!==(null==t?void 0:t.keepGeometryType)&&delete s.geometry.spatialReference,r.push(s),1}),0,e).then((()=>{const e=this.schema();return e.features=r,e.spatialReference=!0===(null==t?void 0:t.keepGeometryType)?this.spatialReference:this.spatialReference.toJSON(),e}))}))}}E._featuresetFunctions={};export{E 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.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
class e{constructor(e){const s=this;s._keys=[],s._values=[],s.length=0,e&&e.forEach((e=>{s.set(e[0],e[1])}))}entries(){return[].slice.call(this.keys().map((e=>[e,this.get(e)])))}keys(){return[].slice.call(this._keys)}values(){return[].slice.call(this._values)}has(e){return this._keys.
|
|
5
|
+
class e{constructor(e){const s=this;s._keys=[],s._values=[],s.length=0,e&&e.forEach((e=>{s.set(e[0],e[1])}))}entries(){return[].slice.call(this.keys().map((e=>[e,this.get(e)])))}keys(){return[].slice.call(this._keys)}values(){return[].slice.call(this._values)}has(e){return this._keys.includes(e)}get(e){const s=this._keys.indexOf(e);return s>-1?this._values[s]:void 0}deepGet(s){if(!s||!s.length)return null;const t=(s,i)=>null==s?null:i.length?t(s instanceof e?s.get(i[0]):s[i[0]],i.slice(1)):s;return t(this.get(s[0]),s.slice(1))}set(e,s){const t=this,i=this._keys.indexOf(e);return i>-1?t._values[i]=s:(t._keys.push(e),t._values.push(s),t.length=t._values.length),this}sortedSet(e,s,t,i){const h=this,l=this._keys.length,r=t||0,n=void 0!==i?i:l-1;if(0===l)return h._keys.push(e),h._values.push(s),h;if(e===this._keys[r])return this._values.splice(r,0,s),this;if(e===this._keys[n])return this._values.splice(n,0,s),this;if(e>this._keys[n])return this._keys.splice(n+1,0,e),this._values.splice(n+1,0,s),this;if(e<this._keys[r])return this._values.splice(r,0,s),this._keys.splice(r,0,e),this;if(r>=n)return this;const u=r+Math.floor((n-r)/2);return e<this._keys[u]?this.sortedSet(e,s,r,u-1):e>this._keys[u]?this.sortedSet(e,s,u+1,n):this}size(){return this.length}clear(){const e=this;return e._keys.length=e.length=e._values.length=0,this}delete(e){const s=this,t=s._keys.indexOf(e);return t>-1&&(s._keys.splice(t,1),s._values.splice(t,1),s.length=s._keys.length,!0)}forEach(e){this._keys.forEach(((s,t)=>{e(this.get(s),s,t)}))}map(e){return this.keys().map(((s,t)=>e(this.get(s),s,t)))}filter(e){const s=this;return s._keys.forEach(((t,i)=>{!1===e(s.get(t),t,i)&&s.delete(t)})),this}clone(){return new e(this.entries())}}class s{constructor(s=20){this.maxEntries=s,this.values=new e}delete(e){this.values.has(e)&&this.values.delete(e)}get(e){let s=null;return this.values.has(e)&&(s=this.values.get(e),this.values.delete(e),this.values.set(e,s)),s}put(e,s){if(this.values.size()>=this.maxEntries){const e=this.values.keys()[0];this.values.delete(e)}this.values.set(e,s)}}class t{constructor(e=20){this.maxEntries=e,this._cache=new s(this.maxEntries)}clear(){this._cache=new s(this.maxEntries)}addToCache(e,s){this._cache.put(e,s)}removeFromCache(e){this._cache.delete(e)}getFromCache(e){return this._cache.get(e)}}export{t 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.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{create as e,resolve as r,reject as t}from"../../../core/promiseUtils.js";import i from"../../../geometry/Extent.js";import n from"../../../layers/support/Field.js";var o,l;function s(e){return n.fromJSON(e.toJSON())}function y(e){return e.toJSON?e.toJSON():e}function u(e){return"string"==typeof e||e instanceof String}function p(e){return"boolean"==typeof e}function c(e){return"number"==typeof e}function a(e){return e instanceof Array}function m(e){return e instanceof Date}function
|
|
5
|
+
import{create as e,resolve as r,reject as t}from"../../../core/promiseUtils.js";import i from"../../../geometry/Extent.js";import n from"../../../layers/support/Field.js";var o,l;function s(e){return n.fromJSON(e.toJSON())}function y(e){return e.toJSON?e.toJSON():e}function u(e){return"string"==typeof e||e instanceof String}function p(e){return"boolean"==typeof e}function c(e){return"number"==typeof e}function a(e){return e instanceof Array}function m(e){return e instanceof Date}function d(e,r){return e===r||!(!m(e)||!m(r))&&e.getTime()===r.getTime()}function f(e){const r={};for(const t in e)r[t]=e[t];return r}function g(e){if(void 0===e)return null;if("number"==typeof e)return e;switch(e.toLowerCase()){case"meters":case"meter":return 109404;case"miles":case"mile":return 109413;case"kilometers":case"kilometer":case"km":return 109414}return null}function F(e){if(null===e)return null;switch(e.type){case"polygon":case"multipoint":case"polyline":return e.extent;case"point":return new i({xmin:e.x,ymin:e.y,xmax:e.x,ymax:e.y,spatialReference:e.spatialReference});case"extent":return e}return null}function G(e){if(void 0===e)return null;if("number"==typeof e)return e;if("number"==typeof e)return e;switch(e.toLowerCase()){case"meters":case"meter":return 9001;case"miles":case"mile":return 9035;case"kilometers":case"kilometer":case"km":return 9036}return null}function T(e,r){return e===r||("point"===e&&"esriGeometryPoint"===r||("polyline"===e&&"esriGeometryPolyline"===r||("polygon"===e&&"esriGeometryPolygon"===r||("extent"===e&&"esriGeometryEnvelope"===r||("multipoint"===e&&"esriGeometryMultipoint"===r||("point"===r&&"esriGeometryPoint"===e||("polyline"===r&&"esriGeometryPolyline"===e||("polygon"===r&&"esriGeometryPolygon"===e||("extent"===r&&"esriGeometryEnvelope"===e||"multipoint"===r&&"esriGeometryMultipoint"===e)))))))))}!function(e){e[e.Standardised=0]="Standardised",e[e.StandardisedNoInterval=1]="StandardisedNoInterval",e[e.SqlServer=2]="SqlServer",e[e.Oracle=3]="Oracle",e[e.Postgres=4]="Postgres",e[e.PGDB=5]="PGDB",e[e.FILEGDB=6]="FILEGDB",e[e.NotEvaluated=7]="NotEvaluated"}(o||(o={})),function(e){e[e.InFeatureSet=0]="InFeatureSet",e[e.NotInFeatureSet=1]="NotInFeatureSet",e[e.Unknown=2]="Unknown"}(l||(l={}));const S=1e3;function v(e){return function(r){e.reject(r)}}function P(e,r){return function(){try{e.apply(null,arguments)}catch(t){r.reject(t)}}}const I={point:"point",polygon:"polygon",polyline:"polyline",multipoint:"multipoint",extent:"extent",esriGeometryPoint:"point",esriGeometryPolygon:"polygon",esriGeometryPolyline:"polyline",esriGeometryMultipoint:"multipoint",esriGeometryEnvelope:"extent",envelope:"extent"},b={point:"esriGeometryPoint",polygon:"esriGeometryPolygon",polyline:"esriGeometryPolyline",multipoint:"esriGeometryMultipoint",extent:"esriGeometryEnvelope",esriGeometryPoint:"esriGeometryPoint",esriGeometryPolygon:"esriGeometryPolygon",esriGeometryPolyline:"esriGeometryPolyline",esriGeometryMultipoint:"esriGeometryMultipoint",esriGeometryEnvelope:"esriGeometryEnvelope",envelope:"esriGeometryEnvelope"},D={"small-integer":"esriFieldTypeSmallInteger",integer:"esriFieldTypeInteger",long:"esriFieldTypeLong",single:"esriFieldTypeSingle",double:"esriFieldTypeDouble",string:"esriFieldTypeString",date:"esriFieldTypeDate",oid:"esriFieldTypeOID",geometry:"esriFieldTypeGeometry",blob:"esriFieldTypeBlob",raster:"esriFieldTypeRaster",guid:"esriFieldTypeGUID","global-id":"esriFieldTypeGlobalID",xml:"eesriFieldTypeXML",esriFieldTypeSmallInteger:"esriFieldTypeSmallInteger",esriFieldTypeInteger:"esriFieldTypeInteger",esriFieldTypeLong:"esriFieldTypeLong",esriFieldTypeSingle:"esriFieldTypeSingle",esriFieldTypeDouble:"esriFieldTypeDouble",esriFieldTypeString:"esriFieldTypeString",esriFieldTypeDate:"esriFieldTypeDate",esriFieldTypeOID:"esriFieldTypeOID",esriFieldTypeGeometry:"esriFieldTypeGeometry",esriFieldTypeBlob:"esriFieldTypeBlob",esriFieldTypeRaster:"esriFieldTypeRaster",esriFieldTypeGUID:"esriFieldTypeGUID",esriFieldTypeGlobalID:"esriFieldTypeGlobalID",esriFieldTypeXML:"eesriFieldTypeXML"};function x(e){switch(e){case"point":default:return"esriGeometryPoint";case"polygon":return"esriGeometryPolygon";case"multipoint":return"esriGeometryMultipoint";case"polyline":return"esriGeometryPolyline"}}function N(i,n){return e(((e,o)=>{const l=r(!0);i.reduce(((e,r,i,o)=>e.then((e=>{try{return n(e,r,i,o)}catch(l){return t(l)}}),(e=>t(e)))),l).then(e,o)}))}function O(e){return void 0===e?"":e=(e=(e=e.replace(/\/featureserver\/[0-9]*/i,"/FeatureServer")).replace(/\/mapserver\/[0-9]*/i,"/MapServer")).split("?")[0]}function E(e,r){r||(r={}),"function"==typeof r&&(r={cmp:r});const t="boolean"==typeof r.cycles&&r.cycles,i=r.cmp&&(n=r.cmp,function(e){return function(r,t){const i={key:r,value:e[r]},o={key:t,value:e[t]};return n(i,o)}});var n;const o=[];return function e(r){if(r&&r.toJSON&&"function"==typeof r.toJSON&&(r=r.toJSON()),void 0===r)return;if("number"==typeof r)return isFinite(r)?""+r:"null";if("object"!=typeof r)return JSON.stringify(r);let n,l;if(Array.isArray(r)){for(l="[",n=0;n<r.length;n++)n&&(l+=","),l+=e(r[n])||"null";return l+"]"}if(null===r)return"null";if(o.includes(r)){if(t)return JSON.stringify("__cycle__");throw new TypeError("Converting circular structure to JSON")}const s=o.push(r)-1,y=Object.keys(r).sort(i&&i(r));for(l="",n=0;n<y.length;n++){const t=y[n],i=e(r[t]);i&&(l&&(l+=","),l+=JSON.stringify(t)+":"+i)}return o.splice(s,1),"{"+l+"}"}(e)}export{o as FeatureServiceDatabaseType,l as IdState,P as callback,f as cloneAttributes,s as cloneField,G as convertLinearUnitsToCode,g as convertSquareUnitsToCode,S as defaultMaxRecords,d as equalityTest,v as errback,y as esriFieldToJson,O as extractServiceUrl,a as isArray,p as isBoolean,m as isDate,c as isNumber,u as isString,D as layerFieldEsriConstants,I as layerGeometryEsriConstants,b as layerGeometryEsriRestConstants,N as reduceArrayWithPromises,T as sameGeomType,F as shapeExtent,E as stableStringify,x as toEsriGeometryType};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../Dictionary.js";import{d as t,f as r,j as n,t as s,a,b as i}from"../../chunks/languageUtils.js";const c=e=>(t,r,n)=>(n=n||14,+e(t,r).toFixed(n)),o=(e,t)=>e+t,d=(e,t)=>e-t,u=(e,t)=>e*t,m=(e,t)=>e/t,l=(e,t,r)=>c(o)(e,t,r),h=(e,t,r)=>c(d)(e,t,r),g=(e,t,r)=>c(u)(e,t,r),_=(e,t,r)=>c(m)(e,t,r),f=360,w=400,A=2*Math.PI,D=3600,E=3240,p=60,T=60,S=180*D/Math.PI,R=f*p*T,M=90*D,U=180*D,v=270*D,F=String.fromCharCode(7501),I="°";function N(e){if(!1===r(e))throw new Error("Invalid Parameter");return e}function x(e,t){const r=10**t;return Math.round(e*r)/r}function O(e,t){return e%t}function z(e){const t=parseFloat(e.toString().replace(Math.trunc(e).toString(),"0"))*Math.sign(e);if(e<0){return{fraction:t,integer:Math.ceil(e)}}return{fraction:t,integer:Math.floor(e)}}var G,b,H,C;function y(e,t){switch(e){case G.north:return"SHORT"===t?"N":"North";case G.east:return"SHORT"===t?"E":"East";case G.south:return"SHORT"===t?"S":"South";case G.west:return"SHORT"===t?"W":"West"}}function q(e,t,r){for(;e.length<r;)e=t+e;return e}function P(e,t){return e-Math.floor(e/t)*t}function k(e){switch(e){case b.truncated_degrees:case b.decimal_degrees:return f;case b.radians:return A;case b.gradians:return w;case b.seconds:return R;case b.fractional_degree_minutes:return p;case b.fractional_minute_seconds:return T;default:throw new Error("Unnexpected evaluations")}}function L(e){switch(e.toUpperCase().trim()){case"NORTH":case"NORTHAZIMUTH":case"NORTH AZIMUTH":return H.north_azimuth;case"POLAR":return H.polar;case"QUADRANT":return H.quadrant;case"SOUTH":case"SOUTHAZIMUTH":case"SOUTH AZIMUTH":return H.south_azimuth}throw new Error("Unsupported direction type")}function Q(e){switch(e.toUpperCase().trim()){case"D":case"DD":case"DECIMALDEGREE":case"DECIMAL DEGREE":case"DEGREE":case"DECIMALDEGREES":case"DECIMAL DEGREES":case"DEGREES":return b.decimal_degrees;case"DMS":case"DEGREESMINUTESSECONDS":case"DEGREES MINUTES SECONDS":return b.degrees_minutes_seconds;case"R":case"RAD":case"RADS":case"RADIAN":case"RADIANS":return b.radians;case"G":case"GON":case"GONS":case"GRAD":case"GRADS":case"GRADIAN":case"GRADIANS":return b.gradians}throw new Error("Unsupported units")}!function(e){e[e.north=0]="north",e[e.east=1]="east",e[e.south=2]="south",e[e.west=3]="west"}(G||(G={})),function(e){e[e.decimal_degrees=1]="decimal_degrees",e[e.seconds=2]="seconds",e[e.degrees_minutes_seconds=3]="degrees_minutes_seconds",e[e.radians=4]="radians",e[e.gradians=5]="gradians",e[e.truncated_degrees=6]="truncated_degrees",e[e.fractional_degree_minutes=7]="fractional_degree_minutes",e[e.fractional_minute_seconds=8]="fractional_minute_seconds"}(b||(b={})),function(e){e[e.north_azimuth=1]="north_azimuth",e[e.polar=2]="polar",e[e.quadrant=3]="quadrant",e[e.south_azimuth=4]="south_azimuth"}(H||(H={})),function(e){e[e.meridian=0]="meridian",e[e.direction=1]="direction"}(C||(C={}));class W{constructor(e,t,r){this.m_degrees=e,this.m_minutes=t,this.m_seconds=r}getField(e){switch(e){case b.decimal_degrees:case b.truncated_degrees:return this.m_degrees;case b.fractional_degree_minutes:return this.m_minutes;case b.seconds:case b.fractional_minute_seconds:return this.m_seconds;default:throw new Error("Unnexpected evaluation")}}static secondsToDMS(e){const t=z(e).fraction;let r=z(e).integer;const n=Math.floor(r/D);r-=n*D;const s=Math.floor(r/T);return r-=s*T,new W(n,s,r+t)}static numberToDms(e){const t=z(e).fraction,r=z(e).integer,n=g(z(100*t).fraction,100),s=z(100*t).integer;return new W(r,s,n)}format(e,t){let r=x(this.m_seconds,t),n=this.m_minutes,s=this.m_degrees;if(e===b.seconds||e===b.fractional_minute_seconds)T<=r&&(r-=T,++n),p<=n&&(n=0,++s),f<=s&&(s=0);else if(e===b.fractional_degree_minutes)r=0,n=30<=this.m_seconds?this.m_minutes+1:this.m_minutes,s=this.m_degrees,p<=n&&(n=0,++s),f<=s&&(s=0);else if(e===b.decimal_degrees||e===b.truncated_degrees){const e=_(this.m_seconds,D),t=_(this.m_minutes,p);s=Math.round(this.m_degrees+t+e),n=0,r=0}return new W(s,n,r)}static dmsToSeconds(e,t,r){return e*D+t*T+r}}class Z{constructor(e,t,r){this.meridian=e,this.angle=t,this.direction=r}fetchAzimuth(e){return e===C.meridian?this.meridian:this.direction}}class j{constructor(e){this.m_angle=e}static createFromAngleAndDirection(e,t){return new j(new V(j._convertDirectionFormat(e.extractAngularUnits(b.seconds),t,H.north_azimuth)))}getAngle(e){const t=this.m_angle.extractAngularUnits(b.seconds);switch(e){case H.north_azimuth:case H.south_azimuth:case H.polar:return new V(j._convertDirectionFormat(t,H.north_azimuth,e));case H.quadrant:{const e=j.secondsNorthAzimuthToQuadrant(t);return new V(e.angle)}}}getMeridian(e){const t=this.m_angle.extractAngularUnits(b.seconds);switch(e){case H.north_azimuth:return G.north;case H.south_azimuth:return G.south;case H.polar:return G.east;case H.quadrant:return j.secondsNorthAzimuthToQuadrant(t).meridian}}getDirection(e){const t=this.m_angle.extractAngularUnits(b.seconds);switch(e){case H.north_azimuth:return G.east;case H.south_azimuth:return G.west;case H.polar:return G.north;case H.quadrant:return j.secondsNorthAzimuthToQuadrant(t).direction}}static secondsNorthAzimuthToQuadrant(e){const t=e<=M||e>=v?G.north:G.south,r=t===G.north?Math.min(R-e,e):Math.abs(e-U),n=e>U?G.west:G.east;return new Z(t,r,n)}static createFromAngleMeridianAndDirection(e,t,r){return new j(new V(j.secondsQuadrantToNorthAzimuth(e.extractAngularUnits(b.seconds),t,r)))}static secondsQuadrantToNorthAzimuth(e,t,r){return t===G.north?r===G.east?e:R-e:r===G.east?U-e:U+e}static _convertDirectionFormat(e,t,r){let n=0;switch(t){case H.north_azimuth:n=e;break;case H.polar:n=M-e;break;case H.quadrant:throw new Error("Unnexpected evaluation");case H.south_azimuth:n=e+U}let s=0;switch(r){case H.north_azimuth:s=n;break;case H.polar:s=M-n;break;case H.quadrant:throw new Error("Unnexpected evaluation");case H.south_azimuth:s=n-U}return s=O(s,R),s<0?R+s:s}}function B(e,t,r){let n=null;switch(t){case b.decimal_degrees:n=g(e,D);break;case b.seconds:n=e;break;case b.gradians:n=g(e,E);break;case b.radians:n=g(e,S);break;default:throw new Error("Unnexpected evaluation")}switch(r){case b.decimal_degrees:return _(n,D);case b.seconds:return n;case b.gradians:return _(n,E);case b.radians:return n/S;default:throw new Error("Unnexpected evaluation")}}class V{constructor(e){this.m_seconds=e}static createFromAngleAndUnits(e,t){return new V(B(e,t,b.seconds))}extractAngularUnits(e){return B(this.m_seconds,b.seconds,X(e))}static createFromDegreesMinutesSeconds(e,t,r){return new V(l(l(g(e,D),g(t,T)),r))}}function X(e){switch(e){case b.decimal_degrees:case b.truncated_degrees:case b.degrees_minutes_seconds:return b.decimal_degrees;case b.gradians:return b.gradians;case b.fractional_degree_minutes:return b.fractional_degree_minutes;case b.radians:return b.radians;case b.seconds:case b.fractional_minute_seconds:return b.seconds}}class J{constructor(e,t,r,n){this.m_view=e,this.m_angle=t,this.m_merdian=r,this.m_direction=n,this.m_dms=null,this.m_formatted_dms=null}static createFromStringAndBearing(e,t,r){return new J(e,t.getAngle(r),t.getMeridian(r),t.getDirection(r))}fetchAngle(){return this.m_angle}fetchMeridian(){return this.m_merdian}fetchDirection(){return this.m_direction}fetchView(){return this.m_view}fetchDms(){return null===this.m_dms&&this._calculateDms(),this.m_dms}fetchFormattedDms(){return null===this.m_formatted_dms&&this._calculateDms(),this.m_formatted_dms}_calculateDms(){let e=null,t=b.truncated_degrees,r=0;for(let n=0;n<this.m_view.length;n++){const s=this.m_view[n];switch(s){case"m":e=oe(this.m_view,n,s),t=t===b.truncated_degrees?b.fractional_degree_minutes:t,n=e.newpos;continue;case"s":e=oe(this.m_view,n,s),t=b.fractional_minute_seconds,r=r<e.rounding?e.rounding:r,n=e.newpos;continue;default:continue}}this.m_dms=W.secondsToDMS(this.m_angle.extractAngularUnits(b.seconds)),this.m_formatted_dms=W.secondsToDMS(this.m_angle.extractAngularUnits(b.seconds)).format(t,r)}}function K(e,t,r,n,s){let a=null;switch(t){case b.decimal_degrees:case b.radians:case b.gradians:return a=P(x(e.extractAngularUnits(t),n),k(t)),q(a.toFixed(n),"0",r+n+(n>0?1:0));case b.truncated_degrees:case b.fractional_degree_minutes:return a=P(s.fetchFormattedDms().getField(t),k(t)),q(a.toFixed(n),"0",r+n+(n>0?1:0));case b.fractional_minute_seconds:return a=P(x(s.fetchDms().getField(t),n),k(t)),q(a.toFixed(n),"0",r+n+(n>0?1:0));default:throw new Error("Unnexepected evaluation")}}function Y(e,t,r){if(r===H.quadrant)throw new Error("Conversion error");if(t===b.degrees_minutes_seconds){const t=W.numberToDms(e);return j.createFromAngleAndDirection(V.createFromDegreesMinutesSeconds(t.m_degrees,t.m_minutes,t.m_seconds),r)}return j.createFromAngleAndDirection(V.createFromAngleAndUnits(e,X(t)),r)}function $(e){switch(s(e)){case 1:return{first:G.north,second:G.east};case 2:return{first:G.south,second:G.east};case 3:return{first:G.south,second:G.west};case 4:return{first:G.north,second:G.west}}return null}function ee(e){switch(e.toUpperCase().trim()){case"N":case"NORTH":return G.north;case"E":case"EAST":return G.east;case"S":case"SOUTH":return G.south;case"W":case"WEST":return G.west}return null}function te(e){const t=parseFloat(e);if(n(t)){if(isNaN(t))throw new Error("Invalid conversion");return t}throw new Error("Invalid conversion")}function re(e,r,n){const s=n===H.quadrant;let a=null,i=null,c=0,o=0,d=0;if(s){if(e.length<2)throw new Error("Conversion Error");d=1;const r=$(t(e[e.length-1]));if(r?(a=r.first,i=r.second):(c=1,a=ee(t(e[0])),i=ee(t(e[e.length-1]))),null===a||null===i)throw new Error("Invalid Conversion")}switch(r){case b.decimal_degrees:case b.radians:case b.gradians:if(0===e.length)throw new Error("Invalid Conversion");return s?j.createFromAngleMeridianAndDirection(V.createFromAngleAndUnits(te(e[c]),X(r)),a,i):j.createFromAngleAndDirection(V.createFromAngleAndUnits(te(e[c]),X(r)),n);case b.degrees_minutes_seconds:if(o=e.length-d-c,3===o){const t=V.createFromDegreesMinutesSeconds(te(e[c]),te(e[c+1]),te(e[c+2]));return s?j.createFromAngleMeridianAndDirection(t,a,i):j.createFromAngleAndDirection(t,n)}if(1===o){const t=te(e[c]),r=W.numberToDms(t),o=V.createFromDegreesMinutesSeconds(r.m_degrees,r.m_minutes,r.m_seconds);return s?j.createFromAngleMeridianAndDirection(o,a,i):j.createFromAngleAndDirection(o,n)}}throw new Error("Conversion Error")}function ne(e){const t=[" ","-","/","'",'"',"\\","^",I,F,"\t","\r","\n","*"];let r="";for(let n=0;n<e.length;n++){const s=e.charAt(n);-1!==t.indexOf(s)?r+="RRSPLITRRSPLITRR":r+=s}return r.split("RRSPLITRRSPLITRR").filter((e=>""!==e))}function se(e,t,c){if(n(e))return Y(s(e),t,c);if(r(e))return re(ne(e),t,c);if(a(e))return re(e,t,c);if(i(e))return re(e.toArray(),t,c);throw new Error("Conversion Error")}function ae(e,t,r){const n=X(r);if(n&&r!==b.degrees_minutes_seconds){return e.getAngle(t).extractAngularUnits(n)}throw new Error("Conversion Error")}function ie(e,t,r){const n=e.getAngle(t);if(t===H.quadrant&&r===b.degrees_minutes_seconds){const r=W.secondsToDMS(n.extractAngularUnits(b.seconds));return[y(e.getMeridian(t),"SHORT"),r.m_degrees,r.m_minutes,r.m_seconds,y(e.getDirection(t),"SHORT")]}if(r===b.degrees_minutes_seconds){const e=W.secondsToDMS(n.extractAngularUnits(b.seconds));return[e.m_degrees,e.m_minutes,e.m_seconds]}return t===H.quadrant?[y(e.getMeridian(t),"SHORT"),n.extractAngularUnits(r),y(e.getDirection(t),"SHORT")]:[n.extractAngularUnits(r)]}function ce(e,t){let r="";switch(e){case b.decimal_degrees:r=t===H.quadrant?"DD.DD"+I:"DDD.DD"+I;break;case b.degrees_minutes_seconds:r=t===H.quadrant?"dd"+I+" mm' ss\"":"ddd"+I+" mm' ss.ss\"";break;case b.radians:r="R.RR";break;case b.gradians:r="GGG.GG"+F;break;default:throw new Error("Conversion error")}return t===H.quadrant&&(r="p "+r+" b"),r}function oe(e,t,r){const n={padding:0,rounding:0,newpos:t};let s=!1;for(;t<e.length;){const a=e[t];if(a===r)s?n.rounding++:n.padding++,t++;else{if("."!==a)break;s=!0,t++}}return n.newpos=t-1,n}function de(e,t,r){const n={escaped:"",newpos:t};for(t++;t<e.length;){const r=e[t];if(t++,"]"===r)break;n.escaped+=r}return n.newpos=t-1,n}function ue(e,t,r){let n="",s=null,a=null;const i=J.createFromStringAndBearing(t,e,r),c={D:b.decimal_degrees,d:b.truncated_degrees,m:b.fractional_degree_minutes,s:b.fractional_minute_seconds,R:b.radians,G:b.gradians};for(let o=0;o<t.length;o++){const d=t[o];switch(d){case"[":s=de(t,o),n+=s.escaped,o=s.newpos;continue;case"D":case"d":case"m":case"s":case"R":case"G":s=oe(t,o,d),a=e.getAngle(r),n+=K(a,c[d],s.padding,s.rounding,i),o=s.newpos;continue;case"P":case"p":n+=y(i.fetchMeridian(),"p"===d?"SHORT":"LONG");continue;case"B":case"b":n+=y(i.fetchDirection(),"b"===d?"SHORT":"LONG");continue;default:n+=d}}return n}function me(r,n,s){if(!(n instanceof e))throw new Error("Invalid Parameter");if(!1===n.hasField("directionType"))throw new Error("Invalid Parameter - Missing directionType");if(!1===n.hasField("angleType"))throw new Error("Invalid Parameter - Missing directionType");const a=L(N(n.field("directiontype"))),i=se(r,Q(N(n.field("angletype"))),a);if(!(s instanceof e))throw new Error("Invalid Parameter");if(!1===s.hasField("directionType"))throw new Error("Invalid Parameter - Missing directionType");if(!1===s.hasField("outputType"))throw new Error("Invalid Parameter - Missing directionType");const c=L(N(s.field("directiontype"))),o=s.hasField("angleType")?Q(N(s.field("angletype"))):null,d=N(s.field("outputType")).toUpperCase().trim();if(!c||!d)throw new Error("Conversion error");if(!(o||"TEXT"===d&&s.hasField("format")))throw new Error("Invalid unit");switch(d){case"VALUE":return c===H.quadrant||o===b.degrees_minutes_seconds?ie(i,c,o):ae(i,c,o);case"TEXT":{let e="";return s.hasField("format")&&(e=t(s.field("format"))),null!==e&&""!==e||(e=ce(o,c)),ue(i,e,c)}default:throw new Error("Invalid Parameter")}}export{me as convertDirection,l as preciseAdd,_ as preciseDivide,h as preciseMinus,g as preciseMultiply};
|
|
5
|
+
import e from"../Dictionary.js";import{d as t,f as r,j as n,t as s,a,b as i}from"../../chunks/languageUtils.js";const c=e=>(t,r,n)=>(n=n||14,+e(t,r).toFixed(n)),o=(e,t)=>e+t,d=(e,t)=>e-t,u=(e,t)=>e*t,m=(e,t)=>e/t,l=(e,t,r)=>c(o)(e,t,r),h=(e,t,r)=>c(d)(e,t,r),g=(e,t,r)=>c(u)(e,t,r),_=(e,t,r)=>c(m)(e,t,r),f=360,w=400,A=2*Math.PI,D=3600,E=3240,p=60,T=60,S=180*D/Math.PI,R=f*p*T,M=90*D,U=180*D,v=270*D,F=String.fromCharCode(7501),I="°";function N(e){if(!1===r(e))throw new Error("Invalid Parameter");return e}function x(e,t){const r=10**t;return Math.round(e*r)/r}function z(e,t){return e%t}function O(e){const t=parseFloat(e.toString().replace(Math.trunc(e).toString(),"0"))*Math.sign(e);if(e<0){return{fraction:t,integer:Math.ceil(e)}}return{fraction:t,integer:Math.floor(e)}}var G,b,H,C;function y(e,t){switch(e){case G.north:return"SHORT"===t?"N":"North";case G.east:return"SHORT"===t?"E":"East";case G.south:return"SHORT"===t?"S":"South";case G.west:return"SHORT"===t?"W":"West"}}function q(e,t,r){for(;e.length<r;)e=t+e;return e}function P(e,t){return e-Math.floor(e/t)*t}function k(e){switch(e){case b.truncated_degrees:case b.decimal_degrees:return f;case b.radians:return A;case b.gradians:return w;case b.seconds:return R;case b.fractional_degree_minutes:return p;case b.fractional_minute_seconds:return T;default:throw new Error("Unnexpected evaluations")}}function L(e){switch(e.toUpperCase().trim()){case"NORTH":case"NORTHAZIMUTH":case"NORTH AZIMUTH":return H.north_azimuth;case"POLAR":return H.polar;case"QUADRANT":return H.quadrant;case"SOUTH":case"SOUTHAZIMUTH":case"SOUTH AZIMUTH":return H.south_azimuth}throw new Error("Unsupported direction type")}function Q(e){switch(e.toUpperCase().trim()){case"D":case"DD":case"DECIMALDEGREE":case"DECIMAL DEGREE":case"DEGREE":case"DECIMALDEGREES":case"DECIMAL DEGREES":case"DEGREES":return b.decimal_degrees;case"DMS":case"DEGREESMINUTESSECONDS":case"DEGREES MINUTES SECONDS":return b.degrees_minutes_seconds;case"R":case"RAD":case"RADS":case"RADIAN":case"RADIANS":return b.radians;case"G":case"GON":case"GONS":case"GRAD":case"GRADS":case"GRADIAN":case"GRADIANS":return b.gradians}throw new Error("Unsupported units")}!function(e){e[e.north=0]="north",e[e.east=1]="east",e[e.south=2]="south",e[e.west=3]="west"}(G||(G={})),function(e){e[e.decimal_degrees=1]="decimal_degrees",e[e.seconds=2]="seconds",e[e.degrees_minutes_seconds=3]="degrees_minutes_seconds",e[e.radians=4]="radians",e[e.gradians=5]="gradians",e[e.truncated_degrees=6]="truncated_degrees",e[e.fractional_degree_minutes=7]="fractional_degree_minutes",e[e.fractional_minute_seconds=8]="fractional_minute_seconds"}(b||(b={})),function(e){e[e.north_azimuth=1]="north_azimuth",e[e.polar=2]="polar",e[e.quadrant=3]="quadrant",e[e.south_azimuth=4]="south_azimuth"}(H||(H={})),function(e){e[e.meridian=0]="meridian",e[e.direction=1]="direction"}(C||(C={}));class W{constructor(e,t,r){this.m_degrees=e,this.m_minutes=t,this.m_seconds=r}getField(e){switch(e){case b.decimal_degrees:case b.truncated_degrees:return this.m_degrees;case b.fractional_degree_minutes:return this.m_minutes;case b.seconds:case b.fractional_minute_seconds:return this.m_seconds;default:throw new Error("Unnexpected evaluation")}}static secondsToDMS(e){const t=O(e).fraction;let r=O(e).integer;const n=Math.floor(r/D);r-=n*D;const s=Math.floor(r/T);return r-=s*T,new W(n,s,r+t)}static numberToDms(e){const t=O(e).fraction,r=O(e).integer,n=g(O(100*t).fraction,100),s=O(100*t).integer;return new W(r,s,n)}format(e,t){let r=x(this.m_seconds,t),n=this.m_minutes,s=this.m_degrees;if(e===b.seconds||e===b.fractional_minute_seconds)T<=r&&(r-=T,++n),p<=n&&(n=0,++s),f<=s&&(s=0);else if(e===b.fractional_degree_minutes)r=0,n=30<=this.m_seconds?this.m_minutes+1:this.m_minutes,s=this.m_degrees,p<=n&&(n=0,++s),f<=s&&(s=0);else if(e===b.decimal_degrees||e===b.truncated_degrees){const e=_(this.m_seconds,D),t=_(this.m_minutes,p);s=Math.round(this.m_degrees+t+e),n=0,r=0}return new W(s,n,r)}static dmsToSeconds(e,t,r){return e*D+t*T+r}}class Z{constructor(e,t,r){this.meridian=e,this.angle=t,this.direction=r}fetchAzimuth(e){return e===C.meridian?this.meridian:this.direction}}class j{constructor(e){this.m_angle=e}static createFromAngleAndDirection(e,t){return new j(new V(j._convertDirectionFormat(e.extractAngularUnits(b.seconds),t,H.north_azimuth)))}getAngle(e){const t=this.m_angle.extractAngularUnits(b.seconds);switch(e){case H.north_azimuth:case H.south_azimuth:case H.polar:return new V(j._convertDirectionFormat(t,H.north_azimuth,e));case H.quadrant:{const e=j.secondsNorthAzimuthToQuadrant(t);return new V(e.angle)}}}getMeridian(e){const t=this.m_angle.extractAngularUnits(b.seconds);switch(e){case H.north_azimuth:return G.north;case H.south_azimuth:return G.south;case H.polar:return G.east;case H.quadrant:return j.secondsNorthAzimuthToQuadrant(t).meridian}}getDirection(e){const t=this.m_angle.extractAngularUnits(b.seconds);switch(e){case H.north_azimuth:return G.east;case H.south_azimuth:return G.west;case H.polar:return G.north;case H.quadrant:return j.secondsNorthAzimuthToQuadrant(t).direction}}static secondsNorthAzimuthToQuadrant(e){const t=e<=M||e>=v?G.north:G.south,r=t===G.north?Math.min(R-e,e):Math.abs(e-U),n=e>U?G.west:G.east;return new Z(t,r,n)}static createFromAngleMeridianAndDirection(e,t,r){return new j(new V(j.secondsQuadrantToNorthAzimuth(e.extractAngularUnits(b.seconds),t,r)))}static secondsQuadrantToNorthAzimuth(e,t,r){return t===G.north?r===G.east?e:R-e:r===G.east?U-e:U+e}static _convertDirectionFormat(e,t,r){let n=0;switch(t){case H.north_azimuth:n=e;break;case H.polar:n=M-e;break;case H.quadrant:throw new Error("Unnexpected evaluation");case H.south_azimuth:n=e+U}let s=0;switch(r){case H.north_azimuth:s=n;break;case H.polar:s=M-n;break;case H.quadrant:throw new Error("Unnexpected evaluation");case H.south_azimuth:s=n-U}return s=z(s,R),s<0?R+s:s}}function B(e,t,r){let n=null;switch(t){case b.decimal_degrees:n=g(e,D);break;case b.seconds:n=e;break;case b.gradians:n=g(e,E);break;case b.radians:n=g(e,S);break;default:throw new Error("Unnexpected evaluation")}switch(r){case b.decimal_degrees:return _(n,D);case b.seconds:return n;case b.gradians:return _(n,E);case b.radians:return n/S;default:throw new Error("Unnexpected evaluation")}}class V{constructor(e){this.m_seconds=e}static createFromAngleAndUnits(e,t){return new V(B(e,t,b.seconds))}extractAngularUnits(e){return B(this.m_seconds,b.seconds,X(e))}static createFromDegreesMinutesSeconds(e,t,r){return new V(l(l(g(e,D),g(t,T)),r))}}function X(e){switch(e){case b.decimal_degrees:case b.truncated_degrees:case b.degrees_minutes_seconds:return b.decimal_degrees;case b.gradians:return b.gradians;case b.fractional_degree_minutes:return b.fractional_degree_minutes;case b.radians:return b.radians;case b.seconds:case b.fractional_minute_seconds:return b.seconds}}class J{constructor(e,t,r,n){this.m_view=e,this.m_angle=t,this.m_merdian=r,this.m_direction=n,this.m_dms=null,this.m_formatted_dms=null}static createFromStringAndBearing(e,t,r){return new J(e,t.getAngle(r),t.getMeridian(r),t.getDirection(r))}fetchAngle(){return this.m_angle}fetchMeridian(){return this.m_merdian}fetchDirection(){return this.m_direction}fetchView(){return this.m_view}fetchDms(){return null===this.m_dms&&this._calculateDms(),this.m_dms}fetchFormattedDms(){return null===this.m_formatted_dms&&this._calculateDms(),this.m_formatted_dms}_calculateDms(){let e=null,t=b.truncated_degrees,r=0;for(let n=0;n<this.m_view.length;n++){const s=this.m_view[n];switch(s){case"m":e=oe(this.m_view,n,s),t=t===b.truncated_degrees?b.fractional_degree_minutes:t,n=e.newpos;continue;case"s":e=oe(this.m_view,n,s),t=b.fractional_minute_seconds,r=r<e.rounding?e.rounding:r,n=e.newpos;continue;default:continue}}this.m_dms=W.secondsToDMS(this.m_angle.extractAngularUnits(b.seconds)),this.m_formatted_dms=W.secondsToDMS(this.m_angle.extractAngularUnits(b.seconds)).format(t,r)}}function K(e,t,r,n,s){let a=null;switch(t){case b.decimal_degrees:case b.radians:case b.gradians:return a=P(x(e.extractAngularUnits(t),n),k(t)),q(a.toFixed(n),"0",r+n+(n>0?1:0));case b.truncated_degrees:case b.fractional_degree_minutes:return a=P(s.fetchFormattedDms().getField(t),k(t)),q(a.toFixed(n),"0",r+n+(n>0?1:0));case b.fractional_minute_seconds:return a=P(x(s.fetchDms().getField(t),n),k(t)),q(a.toFixed(n),"0",r+n+(n>0?1:0));default:throw new Error("Unnexepected evaluation")}}function Y(e,t,r){if(r===H.quadrant)throw new Error("Conversion error");if(t===b.degrees_minutes_seconds){const t=W.numberToDms(e);return j.createFromAngleAndDirection(V.createFromDegreesMinutesSeconds(t.m_degrees,t.m_minutes,t.m_seconds),r)}return j.createFromAngleAndDirection(V.createFromAngleAndUnits(e,X(t)),r)}function $(e){switch(s(e)){case 1:return{first:G.north,second:G.east};case 2:return{first:G.south,second:G.east};case 3:return{first:G.south,second:G.west};case 4:return{first:G.north,second:G.west}}return null}function ee(e){switch(e.toUpperCase().trim()){case"N":case"NORTH":return G.north;case"E":case"EAST":return G.east;case"S":case"SOUTH":return G.south;case"W":case"WEST":return G.west}return null}function te(e){const t=parseFloat(e);if(n(t)){if(isNaN(t))throw new Error("Invalid conversion");return t}throw new Error("Invalid conversion")}function re(e,r,n){const s=n===H.quadrant;let a=null,i=null,c=0,o=0,d=0;if(s){if(e.length<2)throw new Error("Conversion Error");d=1;const r=$(t(e[e.length-1]));if(r?(a=r.first,i=r.second):(c=1,a=ee(t(e[0])),i=ee(t(e[e.length-1]))),null===a||null===i)throw new Error("Invalid Conversion")}switch(r){case b.decimal_degrees:case b.radians:case b.gradians:if(0===e.length)throw new Error("Invalid Conversion");return s?j.createFromAngleMeridianAndDirection(V.createFromAngleAndUnits(te(e[c]),X(r)),a,i):j.createFromAngleAndDirection(V.createFromAngleAndUnits(te(e[c]),X(r)),n);case b.degrees_minutes_seconds:if(o=e.length-d-c,3===o){const t=V.createFromDegreesMinutesSeconds(te(e[c]),te(e[c+1]),te(e[c+2]));return s?j.createFromAngleMeridianAndDirection(t,a,i):j.createFromAngleAndDirection(t,n)}if(1===o){const t=te(e[c]),r=W.numberToDms(t),o=V.createFromDegreesMinutesSeconds(r.m_degrees,r.m_minutes,r.m_seconds);return s?j.createFromAngleMeridianAndDirection(o,a,i):j.createFromAngleAndDirection(o,n)}}throw new Error("Conversion Error")}function ne(e){const t=[" ","-","/","'",'"',"\\","^",I,F,"\t","\r","\n","*"];let r="";for(let n=0;n<e.length;n++){const s=e.charAt(n);t.includes(s)?r+="RRSPLITRRSPLITRR":r+=s}return r.split("RRSPLITRRSPLITRR").filter((e=>""!==e))}function se(e,t,c){if(n(e))return Y(s(e),t,c);if(r(e))return re(ne(e),t,c);if(a(e))return re(e,t,c);if(i(e))return re(e.toArray(),t,c);throw new Error("Conversion Error")}function ae(e,t,r){const n=X(r);if(n&&r!==b.degrees_minutes_seconds){return e.getAngle(t).extractAngularUnits(n)}throw new Error("Conversion Error")}function ie(e,t,r){const n=e.getAngle(t);if(t===H.quadrant&&r===b.degrees_minutes_seconds){const r=W.secondsToDMS(n.extractAngularUnits(b.seconds));return[y(e.getMeridian(t),"SHORT"),r.m_degrees,r.m_minutes,r.m_seconds,y(e.getDirection(t),"SHORT")]}if(r===b.degrees_minutes_seconds){const e=W.secondsToDMS(n.extractAngularUnits(b.seconds));return[e.m_degrees,e.m_minutes,e.m_seconds]}return t===H.quadrant?[y(e.getMeridian(t),"SHORT"),n.extractAngularUnits(r),y(e.getDirection(t),"SHORT")]:[n.extractAngularUnits(r)]}function ce(e,t){let r="";switch(e){case b.decimal_degrees:r=t===H.quadrant?"DD.DD"+I:"DDD.DD"+I;break;case b.degrees_minutes_seconds:r=t===H.quadrant?"dd"+I+" mm' ss\"":"ddd"+I+" mm' ss.ss\"";break;case b.radians:r="R.RR";break;case b.gradians:r="GGG.GG"+F;break;default:throw new Error("Conversion error")}return t===H.quadrant&&(r="p "+r+" b"),r}function oe(e,t,r){const n={padding:0,rounding:0,newpos:t};let s=!1;for(;t<e.length;){const a=e[t];if(a===r)s?n.rounding++:n.padding++,t++;else{if("."!==a)break;s=!0,t++}}return n.newpos=t-1,n}function de(e,t,r){const n={escaped:"",newpos:t};for(t++;t<e.length;){const r=e[t];if(t++,"]"===r)break;n.escaped+=r}return n.newpos=t-1,n}function ue(e,t,r){let n="",s=null,a=null;const i=J.createFromStringAndBearing(t,e,r),c={D:b.decimal_degrees,d:b.truncated_degrees,m:b.fractional_degree_minutes,s:b.fractional_minute_seconds,R:b.radians,G:b.gradians};for(let o=0;o<t.length;o++){const d=t[o];switch(d){case"[":s=de(t,o),n+=s.escaped,o=s.newpos;continue;case"D":case"d":case"m":case"s":case"R":case"G":s=oe(t,o,d),a=e.getAngle(r),n+=K(a,c[d],s.padding,s.rounding,i),o=s.newpos;continue;case"P":case"p":n+=y(i.fetchMeridian(),"p"===d?"SHORT":"LONG");continue;case"B":case"b":n+=y(i.fetchDirection(),"b"===d?"SHORT":"LONG");continue;default:n+=d}}return n}function me(r,n,s){if(!(n instanceof e))throw new Error("Invalid Parameter");if(!1===n.hasField("directionType"))throw new Error("Invalid Parameter - Missing directionType");if(!1===n.hasField("angleType"))throw new Error("Invalid Parameter - Missing directionType");const a=L(N(n.field("directiontype"))),i=se(r,Q(N(n.field("angletype"))),a);if(!(s instanceof e))throw new Error("Invalid Parameter");if(!1===s.hasField("directionType"))throw new Error("Invalid Parameter - Missing directionType");if(!1===s.hasField("outputType"))throw new Error("Invalid Parameter - Missing directionType");const c=L(N(s.field("directiontype"))),o=s.hasField("angleType")?Q(N(s.field("angletype"))):null,d=N(s.field("outputType")).toUpperCase().trim();if(!c||!d)throw new Error("Conversion error");if(!(o||"TEXT"===d&&s.hasField("format")))throw new Error("Invalid unit");switch(d){case"VALUE":return c===H.quadrant||o===b.degrees_minutes_seconds?ie(i,c,o):ae(i,c,o);case"TEXT":{let e="";return s.hasField("format")&&(e=t(s.field("format"))),null!==e&&""!==e||(e=ce(o,c)),ue(i,e,c)}default:throw new Error("Invalid Parameter")}}export{me as convertDirection,l as preciseAdd,_ as preciseDivide,h as preciseMinus,g as preciseMultiply};
|
package/arcade/lib/character.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
const u={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7C6\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB67\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDEC0-\uDEEB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D3-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7C6\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB67\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD46\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E\uDC5F\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},D={fromCodePoint:u=>u<65536?String.fromCharCode(u):String.fromCharCode(55296+(u-65536>>10))+String.fromCharCode(56320+(u-65536&1023)),isWhiteSpace:u=>32===u||9===u||11===u||12===u||160===u||u>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(u)>=0,isLineTerminator:u=>10===u||13===u||8232===u||8233===u,isIdentifierStart:F=>36===F||95===F||F>=65&&F<=90||F>=97&&F<=122||92===F||F>=128&&u.NonAsciiIdentifierStart.test(D.fromCodePoint(F)),isIdentifierPart:F=>36===F||95===F||F>=65&&F<=90||F>=97&&F<=122||F>=48&&F<=57||92===F||F>=128&&u.NonAsciiIdentifierPart.test(D.fromCodePoint(F)),isDecimalDigit:u=>u>=48&&u<=57,isHexDigit:u=>u>=48&&u<=57||u>=65&&u<=70||u>=97&&u<=102,isOctalDigit:u=>u>=48&&u<=55};export{D as Character};
|
|
5
|
+
const u={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7C6\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB67\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDEC0-\uDEEB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D3-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7C6\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB67\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD46\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E\uDC5F\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},D={fromCodePoint:u=>u<65536?String.fromCharCode(u):String.fromCharCode(55296+(u-65536>>10))+String.fromCharCode(56320+(u-65536&1023)),isWhiteSpace:u=>32===u||9===u||11===u||12===u||160===u||u>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].includes(u),isLineTerminator:u=>10===u||13===u||8232===u||8233===u,isIdentifierStart:F=>36===F||95===F||F>=65&&F<=90||F>=97&&F<=122||92===F||F>=128&&u.NonAsciiIdentifierStart.test(D.fromCodePoint(F)),isIdentifierPart:F=>36===F||95===F||F>=65&&F<=90||F>=97&&F<=122||F>=48&&F<=57||92===F||F>=128&&u.NonAsciiIdentifierPart.test(D.fromCodePoint(F)),isDecimalDigit:u=>u>=48&&u<=57,isHexDigit:u=>u>=48&&u<=57||u>=65&&u<=70||u>=97&&u<=102,isOctalDigit:u=>u>=48&&u<=55};export{D as Character};
|
package/arcade/lib/scanner.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{assert as e}from"./assert.js";import{Character as t}from"./character.js";import{Messages as i}from"./messages.js";import{TokenType as s}from"./token.js";function n(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function r(e){return"01234567".indexOf(e)}class h{constructor(e,t){this.source=e,this.errorHandler=t,this.trackComment=!1,this.isModule=!1,this.length=e.length,this.index=0,this.lineNumber=e.length>0?1:0,this.lineStart=0,this.curlyStack=[]}saveState(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart,curlyStack:this.curlyStack.slice()}}restoreState(e){this.index=e.index,this.lineNumber=e.lineNumber,this.lineStart=e.lineStart,this.curlyStack=e.curlyStack}eof(){return this.index>=this.length}throwUnexpectedToken(e=i.UnexpectedTokenIllegal){return this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)}_tolerateUnexpectedToken(e=i.UnexpectedTokenIllegal){this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)}_skipSingleLineComment(e){let i=[],s=0,n=null;for(this.trackComment&&(i=[],s=this.index-e,n={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{line:0,column:0}});!this.eof();){const r=this.source.charCodeAt(this.index);if(++this.index,t.isLineTerminator(r)){if(n){n.end={line:this.lineNumber,column:this.index-this.lineStart-1};const t={multiLine:!1,slice:[s+e,this.index-1],range:[s,this.index-1],loc:n};i.push(t)}return 13===r&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,i}}if(n){n.end={line:this.lineNumber,column:this.index-this.lineStart};const t={multiLine:!1,slice:[s+e,this.index],range:[s,this.index],loc:n};i.push(t)}return i}_skipMultiLineComment(){const e=[];let i=0,s=null;for(this.trackComment&&(i=this.index-2,s={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{line:0,column:0}});!this.eof();){const n=this.source.charCodeAt(this.index);if(t.isLineTerminator(n))13===n&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===n){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,s){s.end={line:this.lineNumber,column:this.index-this.lineStart};const t={multiLine:!0,slice:[i+2,this.index-2],range:[i,this.index],loc:s};e.push(t)}return e}++this.index}else++this.index}if(s){s.end={line:this.lineNumber,column:this.index-this.lineStart};const t={multiLine:!0,slice:[i+2,this.index],range:[i,this.index],loc:s};e.push(t)}return this._tolerateUnexpectedToken(),e}scanComments(){let e=null;this.trackComment&&(e=[]);let i=0===this.index;for(;!this.eof();){let s=this.source.charCodeAt(this.index);if(t.isWhiteSpace(s))++this.index;else if(t.isLineTerminator(s))++this.index,13===s&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,i=!0;else if(47===s)if(s=this.source.charCodeAt(this.index+1),47===s){this.index+=2;const t=this._skipSingleLineComment(2);e&&(e=e.concat(t)),i=!0}else{if(42!==s)break;{this.index+=2;const t=this._skipMultiLineComment();e&&(e=e.concat(t))}}else if(i&&45===s){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;{this.index+=3;const t=this._skipSingleLineComment(3);e&&(e=e.concat(t))}}else{if(60!==s||this.isModule)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;{this.index+=4;const t=this._skipSingleLineComment(4);e&&(e=e.concat(t))}}}return e}_isKeyword(e){switch((e=e.toLowerCase()).length){case 2:return"if"===e||"in"===e;case 3:return"var"===e||"for"===e;case 4:return"else"===e;case 5:return"break"===e;case 6:return"return"===e;case 8:return"function"===e||"continue"===e;default:return!1}}_codePointAt(e){let t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){const i=this.source.charCodeAt(e+1);if(i>=56320&&i<=57343){t=1024*(t-55296)+i-56320+65536}}return t}_scanHexEscape(e){const i="u"===e?4:2;let s=0;for(let r=0;r<i;++r){if(this.eof()||!t.isHexDigit(this.source.charCodeAt(this.index)))return null;s=16*s+n(this.source[this.index++])}return String.fromCharCode(s)}_scanUnicodeCodePointEscape(){let e=this.source[this.index],i=0;for("}"===e&&this.throwUnexpectedToken();!this.eof()&&(e=this.source[this.index++],t.isHexDigit(e.charCodeAt(0)));)i=16*i+n(e);return(i>1114111||"}"!==e)&&this.throwUnexpectedToken(),t.fromCodePoint(i)}_getIdentifier(){const e=this.index++;for(;!this.eof();){const i=this.source.charCodeAt(this.index);if(92===i)return this.index=e,this._getComplexIdentifier();if(i>=55296&&i<57343)return this.index=e,this._getComplexIdentifier();if(!t.isIdentifierPart(i))break;++this.index}return this.source.slice(e,this.index)}_getComplexIdentifier(){let e,i=this._codePointAt(this.index),s=t.fromCodePoint(i);for(this.index+=s.length,92===i&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this._scanUnicodeCodePointEscape()):(e=this._scanHexEscape("u"),null!==e&&"\\"!==e&&t.isIdentifierStart(e.charCodeAt(0))||this.throwUnexpectedToken()),s=e);!this.eof()&&(i=this._codePointAt(this.index),t.isIdentifierPart(i));)e=t.fromCodePoint(i),s+=e,this.index+=e.length,92===i&&(s=s.substr(0,s.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this._scanUnicodeCodePointEscape()):(e=this._scanHexEscape("u"),null!==e&&"\\"!==e&&t.isIdentifierPart(e.charCodeAt(0))||this.throwUnexpectedToken()),s+=e);return s}_octalToDecimal(e){let i="0"!==e,s=r(e);return!this.eof()&&t.isOctalDigit(this.source.charCodeAt(this.index))&&(i=!0,s=8*s+r(this.source[this.index++]),"0123".indexOf(e)>=0&&!this.eof()&&t.isOctalDigit(this.source.charCodeAt(this.index))&&(s=8*s+r(this.source[this.index++]))),{code:s,octal:i}}_scanIdentifier(){let e;const t=this.index,n=92===this.source.charCodeAt(t)?this._getComplexIdentifier():this._getIdentifier();if(e=1===n.length?s.Identifier:this._isKeyword(n)?s.Keyword:"null"===n.toLowerCase()?s.NullLiteral:"true"===n.toLowerCase()||"false"===n.toLowerCase()?s.BooleanLiteral:s.Identifier,e!==s.Identifier&&t+n.length!==this.index){const e=this.index;this.index=t,this._tolerateUnexpectedToken(i.InvalidEscapedReservedWord),this.index=e}return{type:e,value:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}}_scanPunctuator(){const e=this.index;let t=this.source[this.index];switch(t){case"(":case"{":"{"===t&&this.curlyStack.push("{"),++this.index;break;case".":case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;case"}":++this.index,this.curlyStack.pop();break;default:t=this.source.substr(this.index,4),">>>="===t?this.index+=4:(t=t.substr(0,3),"==="===t||"!=="===t||">>>"===t||"<<="===t||">>="===t||"**="===t?this.index+=3:(t=t.substr(0,2),"&&"===t||"||"===t||"=="===t||"!="===t||"+="===t||"-="===t||"*="===t||"/="===t||"++"===t||"--"===t||"<<"===t||">>"===t||"&="===t||"|="===t||"^="===t||"%="===t||"<="===t||">="===t||"=>"===t||"**"===t?this.index+=2:(t=this.source[this.index],"<>=!+-*%&|^/".indexOf(t)>=0&&++this.index)))}return this.index===e&&this.throwUnexpectedToken(),{type:s.Punctuator,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}}_scanHexLiteral(e){let i="";for(;!this.eof()&&t.isHexDigit(this.source.charCodeAt(this.index));)i+=this.source[this.index++];return 0===i.length&&this.throwUnexpectedToken(),t.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:s.NumericLiteral,value:parseInt("0x"+i,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}}_scanBinaryLiteral(e){let i="";for(;!this.eof();){const e=this.source[this.index];if("0"!==e&&"1"!==e)break;i+=this.source[this.index++]}if(0===i.length&&this.throwUnexpectedToken(),!this.eof()){const e=this.source.charCodeAt(this.index);(t.isIdentifierStart(e)||t.isDecimalDigit(e))&&this.throwUnexpectedToken()}return{type:s.NumericLiteral,value:parseInt(i,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}}_scanOctalLiteral(e,i){let n="",r=!1;for(t.isOctalDigit(e.charCodeAt(0))?(r=!0,n="0"+this.source[this.index++]):++this.index;!this.eof()&&t.isOctalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];return r||0!==n.length||this.throwUnexpectedToken(),(t.isIdentifierStart(this.source.charCodeAt(this.index))||t.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:s.NumericLiteral,value:parseInt(n,8),octal:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:i,end:this.index}}_scanNumericLiteral(){const i=this.index;let n=this.source[i];e(t.isDecimalDigit(n.charCodeAt(0))||"."===n,"Numeric literal must start with a decimal digit or a decimal point");let r="";if("."!==n){if(r=this.source[this.index++],n=this.source[this.index],"0"===r){if("x"===n||"X"===n)return++this.index,this._scanHexLiteral(i);if("b"===n||"B"===n)return++this.index,this._scanBinaryLiteral(i);if("o"===n||"O"===n)return this._scanOctalLiteral(n,i)}for(;t.isDecimalDigit(this.source.charCodeAt(this.index));)r+=this.source[this.index++];n=this.source[this.index]}if("."===n){for(r+=this.source[this.index++];t.isDecimalDigit(this.source.charCodeAt(this.index));)r+=this.source[this.index++];n=this.source[this.index]}if("e"===n||"E"===n)if(r+=this.source[this.index++],n=this.source[this.index],"+"!==n&&"-"!==n||(r+=this.source[this.index++]),t.isDecimalDigit(this.source.charCodeAt(this.index)))for(;t.isDecimalDigit(this.source.charCodeAt(this.index));)r+=this.source[this.index++];else this.throwUnexpectedToken();return t.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:s.NumericLiteral,value:parseFloat(r),lineNumber:this.lineNumber,lineStart:this.lineStart,start:i,end:this.index}}_scanStringLiteral(){const n=this.index;let r=this.source[n];e("'"===r||'"'===r,"String literal must starts with a quote"),++this.index;let h=!1,c="";for(;!this.eof();){let e=this.source[this.index++];if(e===r){r="";break}if("\\"===e)if(e=this.source[this.index++],e&&t.isLineTerminator(e.charCodeAt(0)))++this.lineNumber,"\r"===e&&"\n"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(e){case"u":if("{"===this.source[this.index])++this.index,c+=this._scanUnicodeCodePointEscape();else{const t=this._scanHexEscape(e);null===t&&this.throwUnexpectedToken(),c+=t}break;case"x":{const t=this._scanHexEscape(e);null===t&&this.throwUnexpectedToken(i.InvalidHexEscapeSequence),c+=t;break}case"n":c+="\n";break;case"r":c+="\r";break;case"t":c+="\t";break;case"b":c+="\b";break;case"f":c+="\f";break;case"v":c+="\v";break;case"8":case"9":c+=e,this._tolerateUnexpectedToken();break;default:if(e&&t.isOctalDigit(e.charCodeAt(0))){const t=this._octalToDecimal(e);h=t.octal||h,c+=String.fromCharCode(t.code)}else c+=e}else{if(t.isLineTerminator(e.charCodeAt(0)))break;c+=e}}return""!==r&&(this.index=n,this.throwUnexpectedToken()),{type:s.StringLiteral,value:c,octal:h,lineNumber:this.lineNumber,lineStart:this.lineStart,start:n,end:this.index}}_scanTemplate(){let e="",n=!1;const r=this.index,h="`"===this.source[r];let c=!1,o=2;for(++this.index;!this.eof();){let s=this.source[this.index++];if("`"===s){o=1,c=!0,n=!0;break}if("$"===s){if("{"===this.source[this.index]){this.curlyStack.push("${"),++this.index,n=!0;break}e+=s}else if("\\"===s)if(s=this.source[this.index++],t.isLineTerminator(s.charCodeAt(0)))++this.lineNumber,"\r"===s&&"\n"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(s){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+="\t";break;case"u":if("{"===this.source[this.index])++this.index,e+=this._scanUnicodeCodePointEscape();else{const t=this.index,i=this._scanHexEscape(s);null!==i?e+=i:(this.index=t,e+=s)}break;case"x":{const t=this._scanHexEscape(s);null===t&&this.throwUnexpectedToken(i.InvalidHexEscapeSequence),e+=t;break}case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:"0"===s?(t.isDecimalDigit(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(i.TemplateOctalLiteral),e+="\0"):t.isOctalDigit(s.charCodeAt(0))?this.throwUnexpectedToken(i.TemplateOctalLiteral):e+=s}else t.isLineTerminator(s.charCodeAt(0))?(++this.lineNumber,"\r"===s&&"\n"===this.source[this.index]&&++this.index,this.lineStart=this.index,e+="\n"):e+=s}return n||this.throwUnexpectedToken(),h||this.curlyStack.pop(),{type:s.Template,value:this.source.slice(r+1,this.index-o),cooked:e,head:h,tail:c,lineNumber:this.lineNumber,lineStart:this.lineStart,start:r,end:this.index}}_testRegExp(e,t){const s="";let n=e;t.indexOf("u")>=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,((e,t,n)=>{const r=parseInt(t||n,16);return r>1114111&&this.throwUnexpectedToken(i.InvalidRegExp),r<=65535?String.fromCharCode(r):s})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s));try{RegExp(n)}catch(r){this.throwUnexpectedToken(i.InvalidRegExp)}try{return new RegExp(e,t)}catch(h){return null}}_scanRegExpBody(){let s=this.source[this.index];e("/"===s,"Regular expression literal must start with a slash");let n=this.source[this.index++],r=!1,h=!1;for(;!this.eof();)if(s=this.source[this.index++],n+=s,"\\"===s)s=this.source[this.index++],t.isLineTerminator(s.charCodeAt(0))&&this.throwUnexpectedToken(i.UnterminatedRegExp),n+=s;else if(t.isLineTerminator(s.charCodeAt(0)))this.throwUnexpectedToken(i.UnterminatedRegExp);else if(r)"]"===s&&(r=!1);else{if("/"===s){h=!0;break}"["===s&&(r=!0)}return h||this.throwUnexpectedToken(i.UnterminatedRegExp),n.substr(1,n.length-2)}_scanRegExpFlags(){let e="",i="";for(;!this.eof();){let s=this.source[this.index];if(!t.isIdentifierPart(s.charCodeAt(0)))break;if(++this.index,"\\"!==s||this.eof())i+=s,e+=s;else if(s=this.source[this.index],"u"===s){++this.index;let t=this.index;const s=this._scanHexEscape("u");if(null!==s)for(i+=s,e+="\\u";t<this.index;++t)e+=this.source[t];else this.index=t,i+="u",e+="\\u";this._tolerateUnexpectedToken()}else e+="\\",this._tolerateUnexpectedToken()}return i}scanRegExp(){const e=this.index,t=this._scanRegExpBody(),i=this._scanRegExpFlags(),n=this._testRegExp(t,i);return{type:s.RegularExpression,value:"",pattern:t,flags:i,regex:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}}lex(){if(this.eof())return{type:s.EOF,value:"",lineNumber:this.lineNumber,lineStart:this.lineStart,start:this.index,end:this.index};const e=this.source.charCodeAt(this.index);return t.isIdentifierStart(e)?this._scanIdentifier():40===e||41===e||59===e?this._scanPunctuator():39===e||34===e?this._scanStringLiteral():46===e?t.isDecimalDigit(this.source.charCodeAt(this.index+1))?this._scanNumericLiteral():this._scanPunctuator():t.isDecimalDigit(e)?this._scanNumericLiteral():96===e||125===e&&"${"===this.curlyStack[this.curlyStack.length-1]?this._scanTemplate():e>=55296&&e<57343&&t.isIdentifierStart(this._codePointAt(this.index))?this._scanIdentifier():this._scanPunctuator()}}export{h as Scanner};
|
|
5
|
+
import{assert as e}from"./assert.js";import{Character as t}from"./character.js";import{Messages as i}from"./messages.js";import{TokenType as s}from"./token.js";function n(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function r(e){return"01234567".indexOf(e)}class h{constructor(e,t){this.source=e,this.errorHandler=t,this.trackComment=!1,this.isModule=!1,this.length=e.length,this.index=0,this.lineNumber=e.length>0?1:0,this.lineStart=0,this.curlyStack=[]}saveState(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart,curlyStack:this.curlyStack.slice()}}restoreState(e){this.index=e.index,this.lineNumber=e.lineNumber,this.lineStart=e.lineStart,this.curlyStack=e.curlyStack}eof(){return this.index>=this.length}throwUnexpectedToken(e=i.UnexpectedTokenIllegal){return this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)}_tolerateUnexpectedToken(e=i.UnexpectedTokenIllegal){this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)}_skipSingleLineComment(e){let i=[],s=0,n=null;for(this.trackComment&&(i=[],s=this.index-e,n={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{line:0,column:0}});!this.eof();){const r=this.source.charCodeAt(this.index);if(++this.index,t.isLineTerminator(r)){if(n){n.end={line:this.lineNumber,column:this.index-this.lineStart-1};const t={multiLine:!1,slice:[s+e,this.index-1],range:[s,this.index-1],loc:n};i.push(t)}return 13===r&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,i}}if(n){n.end={line:this.lineNumber,column:this.index-this.lineStart};const t={multiLine:!1,slice:[s+e,this.index],range:[s,this.index],loc:n};i.push(t)}return i}_skipMultiLineComment(){const e=[];let i=0,s=null;for(this.trackComment&&(i=this.index-2,s={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{line:0,column:0}});!this.eof();){const n=this.source.charCodeAt(this.index);if(t.isLineTerminator(n))13===n&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===n){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,s){s.end={line:this.lineNumber,column:this.index-this.lineStart};const t={multiLine:!0,slice:[i+2,this.index-2],range:[i,this.index],loc:s};e.push(t)}return e}++this.index}else++this.index}if(s){s.end={line:this.lineNumber,column:this.index-this.lineStart};const t={multiLine:!0,slice:[i+2,this.index],range:[i,this.index],loc:s};e.push(t)}return this._tolerateUnexpectedToken(),e}scanComments(){let e=null;this.trackComment&&(e=[]);let i=0===this.index;for(;!this.eof();){let s=this.source.charCodeAt(this.index);if(t.isWhiteSpace(s))++this.index;else if(t.isLineTerminator(s))++this.index,13===s&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,i=!0;else if(47===s)if(s=this.source.charCodeAt(this.index+1),47===s){this.index+=2;const t=this._skipSingleLineComment(2);e&&(e=e.concat(t)),i=!0}else{if(42!==s)break;{this.index+=2;const t=this._skipMultiLineComment();e&&(e=e.concat(t))}}else if(i&&45===s){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;{this.index+=3;const t=this._skipSingleLineComment(3);e&&(e=e.concat(t))}}else{if(60!==s||this.isModule)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;{this.index+=4;const t=this._skipSingleLineComment(4);e&&(e=e.concat(t))}}}return e}_isKeyword(e){switch((e=e.toLowerCase()).length){case 2:return"if"===e||"in"===e;case 3:return"var"===e||"for"===e;case 4:return"else"===e;case 5:return"break"===e;case 6:return"return"===e;case 8:return"function"===e||"continue"===e;default:return!1}}_codePointAt(e){let t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){const i=this.source.charCodeAt(e+1);if(i>=56320&&i<=57343){t=1024*(t-55296)+i-56320+65536}}return t}_scanHexEscape(e){const i="u"===e?4:2;let s=0;for(let r=0;r<i;++r){if(this.eof()||!t.isHexDigit(this.source.charCodeAt(this.index)))return null;s=16*s+n(this.source[this.index++])}return String.fromCharCode(s)}_scanUnicodeCodePointEscape(){let e=this.source[this.index],i=0;for("}"===e&&this.throwUnexpectedToken();!this.eof()&&(e=this.source[this.index++],t.isHexDigit(e.charCodeAt(0)));)i=16*i+n(e);return(i>1114111||"}"!==e)&&this.throwUnexpectedToken(),t.fromCodePoint(i)}_getIdentifier(){const e=this.index++;for(;!this.eof();){const i=this.source.charCodeAt(this.index);if(92===i)return this.index=e,this._getComplexIdentifier();if(i>=55296&&i<57343)return this.index=e,this._getComplexIdentifier();if(!t.isIdentifierPart(i))break;++this.index}return this.source.slice(e,this.index)}_getComplexIdentifier(){let e,i=this._codePointAt(this.index),s=t.fromCodePoint(i);for(this.index+=s.length,92===i&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this._scanUnicodeCodePointEscape()):(e=this._scanHexEscape("u"),null!==e&&"\\"!==e&&t.isIdentifierStart(e.charCodeAt(0))||this.throwUnexpectedToken()),s=e);!this.eof()&&(i=this._codePointAt(this.index),t.isIdentifierPart(i));)e=t.fromCodePoint(i),s+=e,this.index+=e.length,92===i&&(s=s.substr(0,s.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this._scanUnicodeCodePointEscape()):(e=this._scanHexEscape("u"),null!==e&&"\\"!==e&&t.isIdentifierPart(e.charCodeAt(0))||this.throwUnexpectedToken()),s+=e);return s}_octalToDecimal(e){let i="0"!==e,s=r(e);return!this.eof()&&t.isOctalDigit(this.source.charCodeAt(this.index))&&(i=!0,s=8*s+r(this.source[this.index++]),"0123".includes(e)&&!this.eof()&&t.isOctalDigit(this.source.charCodeAt(this.index))&&(s=8*s+r(this.source[this.index++]))),{code:s,octal:i}}_scanIdentifier(){let e;const t=this.index,n=92===this.source.charCodeAt(t)?this._getComplexIdentifier():this._getIdentifier();if(e=1===n.length?s.Identifier:this._isKeyword(n)?s.Keyword:"null"===n.toLowerCase()?s.NullLiteral:"true"===n.toLowerCase()||"false"===n.toLowerCase()?s.BooleanLiteral:s.Identifier,e!==s.Identifier&&t+n.length!==this.index){const e=this.index;this.index=t,this._tolerateUnexpectedToken(i.InvalidEscapedReservedWord),this.index=e}return{type:e,value:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}}_scanPunctuator(){const e=this.index;let t=this.source[this.index];switch(t){case"(":case"{":"{"===t&&this.curlyStack.push("{"),++this.index;break;case".":case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;case"}":++this.index,this.curlyStack.pop();break;default:t=this.source.substr(this.index,4),">>>="===t?this.index+=4:(t=t.substr(0,3),"==="===t||"!=="===t||">>>"===t||"<<="===t||">>="===t||"**="===t?this.index+=3:(t=t.substr(0,2),"&&"===t||"||"===t||"=="===t||"!="===t||"+="===t||"-="===t||"*="===t||"/="===t||"++"===t||"--"===t||"<<"===t||">>"===t||"&="===t||"|="===t||"^="===t||"%="===t||"<="===t||">="===t||"=>"===t||"**"===t?this.index+=2:(t=this.source[this.index],"<>=!+-*%&|^/".includes(t)&&++this.index)))}return this.index===e&&this.throwUnexpectedToken(),{type:s.Punctuator,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}}_scanHexLiteral(e){let i="";for(;!this.eof()&&t.isHexDigit(this.source.charCodeAt(this.index));)i+=this.source[this.index++];return 0===i.length&&this.throwUnexpectedToken(),t.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:s.NumericLiteral,value:parseInt("0x"+i,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}}_scanBinaryLiteral(e){let i="";for(;!this.eof();){const e=this.source[this.index];if("0"!==e&&"1"!==e)break;i+=this.source[this.index++]}if(0===i.length&&this.throwUnexpectedToken(),!this.eof()){const e=this.source.charCodeAt(this.index);(t.isIdentifierStart(e)||t.isDecimalDigit(e))&&this.throwUnexpectedToken()}return{type:s.NumericLiteral,value:parseInt(i,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}}_scanOctalLiteral(e,i){let n="",r=!1;for(t.isOctalDigit(e.charCodeAt(0))?(r=!0,n="0"+this.source[this.index++]):++this.index;!this.eof()&&t.isOctalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];return r||0!==n.length||this.throwUnexpectedToken(),(t.isIdentifierStart(this.source.charCodeAt(this.index))||t.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:s.NumericLiteral,value:parseInt(n,8),octal:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:i,end:this.index}}_scanNumericLiteral(){const i=this.index;let n=this.source[i];e(t.isDecimalDigit(n.charCodeAt(0))||"."===n,"Numeric literal must start with a decimal digit or a decimal point");let r="";if("."!==n){if(r=this.source[this.index++],n=this.source[this.index],"0"===r){if("x"===n||"X"===n)return++this.index,this._scanHexLiteral(i);if("b"===n||"B"===n)return++this.index,this._scanBinaryLiteral(i);if("o"===n||"O"===n)return this._scanOctalLiteral(n,i)}for(;t.isDecimalDigit(this.source.charCodeAt(this.index));)r+=this.source[this.index++];n=this.source[this.index]}if("."===n){for(r+=this.source[this.index++];t.isDecimalDigit(this.source.charCodeAt(this.index));)r+=this.source[this.index++];n=this.source[this.index]}if("e"===n||"E"===n)if(r+=this.source[this.index++],n=this.source[this.index],"+"!==n&&"-"!==n||(r+=this.source[this.index++]),t.isDecimalDigit(this.source.charCodeAt(this.index)))for(;t.isDecimalDigit(this.source.charCodeAt(this.index));)r+=this.source[this.index++];else this.throwUnexpectedToken();return t.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:s.NumericLiteral,value:parseFloat(r),lineNumber:this.lineNumber,lineStart:this.lineStart,start:i,end:this.index}}_scanStringLiteral(){const n=this.index;let r=this.source[n];e("'"===r||'"'===r,"String literal must starts with a quote"),++this.index;let h=!1,c="";for(;!this.eof();){let e=this.source[this.index++];if(e===r){r="";break}if("\\"===e)if(e=this.source[this.index++],e&&t.isLineTerminator(e.charCodeAt(0)))++this.lineNumber,"\r"===e&&"\n"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(e){case"u":if("{"===this.source[this.index])++this.index,c+=this._scanUnicodeCodePointEscape();else{const t=this._scanHexEscape(e);null===t&&this.throwUnexpectedToken(),c+=t}break;case"x":{const t=this._scanHexEscape(e);null===t&&this.throwUnexpectedToken(i.InvalidHexEscapeSequence),c+=t;break}case"n":c+="\n";break;case"r":c+="\r";break;case"t":c+="\t";break;case"b":c+="\b";break;case"f":c+="\f";break;case"v":c+="\v";break;case"8":case"9":c+=e,this._tolerateUnexpectedToken();break;default:if(e&&t.isOctalDigit(e.charCodeAt(0))){const t=this._octalToDecimal(e);h=t.octal||h,c+=String.fromCharCode(t.code)}else c+=e}else{if(t.isLineTerminator(e.charCodeAt(0)))break;c+=e}}return""!==r&&(this.index=n,this.throwUnexpectedToken()),{type:s.StringLiteral,value:c,octal:h,lineNumber:this.lineNumber,lineStart:this.lineStart,start:n,end:this.index}}_scanTemplate(){let e="",n=!1;const r=this.index,h="`"===this.source[r];let c=!1,o=2;for(++this.index;!this.eof();){let s=this.source[this.index++];if("`"===s){o=1,c=!0,n=!0;break}if("$"===s){if("{"===this.source[this.index]){this.curlyStack.push("${"),++this.index,n=!0;break}e+=s}else if("\\"===s)if(s=this.source[this.index++],t.isLineTerminator(s.charCodeAt(0)))++this.lineNumber,"\r"===s&&"\n"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(s){case"n":e+="\n";break;case"r":e+="\r";break;case"t":e+="\t";break;case"u":if("{"===this.source[this.index])++this.index,e+=this._scanUnicodeCodePointEscape();else{const t=this.index,i=this._scanHexEscape(s);null!==i?e+=i:(this.index=t,e+=s)}break;case"x":{const t=this._scanHexEscape(s);null===t&&this.throwUnexpectedToken(i.InvalidHexEscapeSequence),e+=t;break}case"b":e+="\b";break;case"f":e+="\f";break;case"v":e+="\v";break;default:"0"===s?(t.isDecimalDigit(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(i.TemplateOctalLiteral),e+="\0"):t.isOctalDigit(s.charCodeAt(0))?this.throwUnexpectedToken(i.TemplateOctalLiteral):e+=s}else t.isLineTerminator(s.charCodeAt(0))?(++this.lineNumber,"\r"===s&&"\n"===this.source[this.index]&&++this.index,this.lineStart=this.index,e+="\n"):e+=s}return n||this.throwUnexpectedToken(),h||this.curlyStack.pop(),{type:s.Template,value:this.source.slice(r+1,this.index-o),cooked:e,head:h,tail:c,lineNumber:this.lineNumber,lineStart:this.lineStart,start:r,end:this.index}}_testRegExp(e,t){const s="";let n=e;t.includes("u")&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,((e,t,n)=>{const r=parseInt(t||n,16);return r>1114111&&this.throwUnexpectedToken(i.InvalidRegExp),r<=65535?String.fromCharCode(r):s})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,s));try{RegExp(n)}catch(r){this.throwUnexpectedToken(i.InvalidRegExp)}try{return new RegExp(e,t)}catch(h){return null}}_scanRegExpBody(){let s=this.source[this.index];e("/"===s,"Regular expression literal must start with a slash");let n=this.source[this.index++],r=!1,h=!1;for(;!this.eof();)if(s=this.source[this.index++],n+=s,"\\"===s)s=this.source[this.index++],t.isLineTerminator(s.charCodeAt(0))&&this.throwUnexpectedToken(i.UnterminatedRegExp),n+=s;else if(t.isLineTerminator(s.charCodeAt(0)))this.throwUnexpectedToken(i.UnterminatedRegExp);else if(r)"]"===s&&(r=!1);else{if("/"===s){h=!0;break}"["===s&&(r=!0)}return h||this.throwUnexpectedToken(i.UnterminatedRegExp),n.substr(1,n.length-2)}_scanRegExpFlags(){let e="",i="";for(;!this.eof();){let s=this.source[this.index];if(!t.isIdentifierPart(s.charCodeAt(0)))break;if(++this.index,"\\"!==s||this.eof())i+=s,e+=s;else if(s=this.source[this.index],"u"===s){++this.index;let t=this.index;const s=this._scanHexEscape("u");if(null!==s)for(i+=s,e+="\\u";t<this.index;++t)e+=this.source[t];else this.index=t,i+="u",e+="\\u";this._tolerateUnexpectedToken()}else e+="\\",this._tolerateUnexpectedToken()}return i}scanRegExp(){const e=this.index,t=this._scanRegExpBody(),i=this._scanRegExpFlags(),n=this._testRegExp(t,i);return{type:s.RegularExpression,value:"",pattern:t,flags:i,regex:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}}lex(){if(this.eof())return{type:s.EOF,value:"",lineNumber:this.lineNumber,lineStart:this.lineStart,start:this.index,end:this.index};const e=this.source.charCodeAt(this.index);return t.isIdentifierStart(e)?this._scanIdentifier():40===e||41===e||59===e?this._scanPunctuator():39===e||34===e?this._scanStringLiteral():46===e?t.isDecimalDigit(this.source.charCodeAt(this.index+1))?this._scanNumericLiteral():this._scanPunctuator():t.isDecimalDigit(e)?this._scanNumericLiteral():96===e||125===e&&"${"===this.curlyStack[this.curlyStack.length-1]?this._scanTemplate():e>=55296&&e<57343&&t.isIdentifierStart(this._codePointAt(this.index))?this._scanIdentifier():this._scanPunctuator()}}export{h as Scanner};
|
package/arcade/lib/tokenizer.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{ErrorHandler as e}from"./error-handler.js";import{AssignmentOperators as t,BinaryOperators as s,LogicalOperators as n,UnaryOperators as r}from"./nodes.js";import{Scanner as i}from"./scanner.js";import{TokenName as a,TokenType as
|
|
5
|
+
import{ErrorHandler as e}from"./error-handler.js";import{AssignmentOperators as t,BinaryOperators as s,LogicalOperators as n,UnaryOperators as r}from"./nodes.js";import{Scanner as i}from"./scanner.js";import{TokenName as a,TokenType as c}from"./token.js";class o{constructor(){this.values=[],this.curly=this.paren=-1}beforeFunctionExpression(e){return["(","{","[","return",",",...t,...s,...n,...r].includes(e)}isRegexStart(){const e=this.values[this.values.length-1];let t=null!==e;switch(e){case"this":case"]":t=!1;break;case")":{const e=this.values[this.paren-1];t="if"===e||"while"===e||"for"===e||"with"===e}break;case"}":if(t=!0,"function"===this.values[this.curly-3]){const e=this.values[this.curly-4];t=!!e&&!this.beforeFunctionExpression(e)}else if("function"===this.values[this.curly-4]){const e=this.values[this.curly-5];t=!e||!this.beforeFunctionExpression(e)}}return t}push(e){e.type===c.Punctuator||e.type===c.Keyword?("{"===e.value?this.curly=this.values.length:"("===e.value&&(this.paren=this.values.length),this.values.push(e.value)):this.values.push(null)}}class l{constructor(t,s){this.errorHandler=new e,this.errorHandler.tolerant=!!s&&("boolean"==typeof s.tolerant&&s.tolerant),this.scanner=new i(t,this.errorHandler),this.scanner.trackComment=!!s&&("boolean"==typeof s.comment&&s.comment),this.trackRange=!!s&&("boolean"==typeof s.range&&s.range),this.trackLoc=!!s&&("boolean"==typeof s.loc&&s.loc),this.buffer=[],this.reader=new o}errors(){return this.errorHandler.errors}getNextToken(){if(0===this.buffer.length){const t=this.scanner.scanComments();if(t)for(let e=0;e<t.length;++e){const s=t[e],n=this.scanner.source.slice(s.slice[0],s.slice[1]),r={type:s.multiLine?"BlockComment":"LineComment",value:n};this.trackRange&&(r.range=s.range),this.trackLoc&&(r.loc=s.loc),this.buffer.push(r)}if(!this.scanner.eof()){let t=null;this.trackLoc&&(t={start:{line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart},end:{line:0,column:0}});let s;if("/"===this.scanner.source[this.scanner.index]&&this.reader.isRegexStart()){const t=this.scanner.saveState();try{s=this.scanner.scanRegExp()}catch(e){this.scanner.restoreState(t),s=this.scanner.lex()}}else s=this.scanner.lex();this.reader.push(s);const n={type:a[s.type],value:this.scanner.source.slice(s.start,s.end)};if(this.trackRange&&(n.range=[s.start,s.end]),this.trackLoc&&t&&(t.end={line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart},n.loc=t),s.type===c.RegularExpression){const e=s.pattern,t=s.flags;n.regex={pattern:e,flags:t}}this.buffer.push(n)}}return this.buffer.shift()}}export{l as Tokenizer};
|
package/arcade/request.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../request.js";function n(n,o,r,t,s=null){if(null!==s)return s.getToken().then((s=>{if(n=n+="?token="+s,"get"===t.toLowerCase())return e(n,{responseType:"json",query:o});if(o)for(const e in o)n.
|
|
5
|
+
import e from"../request.js";function n(n,o,r,t,s=null){if(null!==s)return s.getToken().then((s=>{if(n=n+="?token="+s,"get"===t.toLowerCase())return e(n,{responseType:"json",query:o});if(o)for(const e in o)n.includes("?")?n+="&":n+="?",n+=encodeURIComponent(e)+"="+encodeURIComponent(o[e]);return e(n,{method:"post",query:r,responseType:"json"})}));if("get"===t.toLowerCase())return e(n,{responseType:"json",query:o});if(o)for(const e in o)n.includes("?")?n+="&":n+="?",n+=encodeURIComponent(e)+"="+encodeURIComponent(o[e]);return e(n,{method:"post",responseType:"json",query:r})}export{n as serviceRequest};
|