@vertigis/arcgis-extensions 35.0.0 → 35.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/ItemType.js +1 -1
  2. package/LanguageResources.js +1 -1
  3. package/data/ArcGISServiceTableExtension.js +1 -1
  4. package/data/Attachment.js +1 -1
  5. package/data/Feature.js +1 -1
  6. package/data/FeatureList.js +1 -1
  7. package/data/FeatureSet.js +1 -1
  8. package/data/FeatureSettings.js +1 -1
  9. package/data/FeatureSourceBase.js +1 -1
  10. package/data/FeatureStream.js +1 -1
  11. package/data/FieldExtension.js +1 -1
  12. package/data/Schema.js +1 -1
  13. package/data/Table.js +1 -1
  14. package/data/_TableExtension.js +1 -1
  15. package/data/convert.js +1 -1
  16. package/data/support/attachments.js +1 -1
  17. package/docs/html/modules/version.html +1 -1
  18. package/layer-preset/LayerPreset.js +1 -1
  19. package/locale/language.js +1 -1
  20. package/mapping/ArcGISSublayerExtension.js +1 -1
  21. package/mapping/BasemapExtension.js +1 -1
  22. package/mapping/BuildingComponentSublayerExtension.js +1 -1
  23. package/mapping/BuildingSceneLayerExtension.js +1 -1
  24. package/mapping/BuildingSublayerExtension.js +1 -1
  25. package/mapping/CSVLayerExtension.js +1 -1
  26. package/mapping/FeatureCollectionLayerExtension.js +1 -1
  27. package/mapping/FeatureLayerExtension.js +1 -1
  28. package/mapping/FeatureLayerExtensionBase.js +1 -1
  29. package/mapping/GraphicsLayerExtension.js +1 -1
  30. package/mapping/GroundExtension.js +1 -1
  31. package/mapping/GroupLayerExtension.js +1 -1
  32. package/mapping/ImageryLayerExtension.js +1 -1
  33. package/mapping/ImageryTileLayerExtension.js +1 -1
  34. package/mapping/KMLLayerExtension.js +1 -1
  35. package/mapping/KMLSublayerExtension.js +1 -1
  36. package/mapping/MapExtension.js +1 -1
  37. package/mapping/MapImageLayerExtension.js +1 -1
  38. package/mapping/MapImageSublayerExtension.js +1 -1
  39. package/mapping/PointCloudLayerExtension.js +1 -1
  40. package/mapping/SceneLayerExtension.js +1 -1
  41. package/mapping/StreamLayerExtension.js +1 -1
  42. package/mapping/WMTSLayerExtension.js +1 -1
  43. package/mapping/WMTSSublayerExtension.js +1 -1
  44. package/mapping/_LayerExtension.js +1 -1
  45. package/mapping/_SublayerExtension.js +1 -1
  46. package/mapping/support/LayerListSettings.js +1 -1
  47. package/mapping/support/WfsCapabilities.js +1 -1
  48. package/mapping/support/_LayerExtensionCollection.js +1 -1
  49. package/mapping/support/_SublayerExtensionCollection.js +1 -1
  50. package/mapping/support/layers.js +1 -1
  51. package/mapping/support/ogc.js +1 -1
  52. package/menus/Menu.js +1 -1
  53. package/menus/MenuItem.js +1 -1
  54. package/package.json +1 -1
  55. package/portal/BaseMap.js +1 -1
  56. package/portal/DrawingInfo.js +1 -1
  57. package/portal/FeatureLayer.js +1 -1
  58. package/portal/IntegratedMeshLayer.js +1 -1
  59. package/portal/Layer.js +1 -1
  60. package/portal/LayerDefinition.js +1 -1
  61. package/portal/Lighting.js +1 -1
  62. package/portal/MapServiceLayer.js +1 -1
  63. package/portal/PointCloudLayer.js +1 -1
  64. package/portal/Slide.js +1 -1
  65. package/portal/Symbol.js +1 -1
  66. package/portal/Table.js +1 -1
  67. package/portal/TiledImageServiceLayer.js +1 -1
  68. package/portal/TiledMapServiceLayer.js +1 -1
  69. package/portal/WebMap.js +1 -1
  70. package/portal/WebScene.js +1 -1
  71. package/portal/Widgets.js +1 -1
  72. package/support/ArcGISRequestHelper.js +1 -1
  73. package/support/Cancellable.js +1 -1
  74. package/support/Observable.js +1 -1
  75. package/support/Serializable.js +1 -1
  76. package/support/Settings.js +1 -1
  77. package/support/_ArcGISRelationshipCollection.js +1 -1
  78. package/support/_query.js +1 -1
  79. package/support/utilities.js +1 -1
  80. package/tasks/geocoding/ArcGISGeocoder.js +1 -1
  81. package/tasks/geocoding/utilities.js +1 -1
  82. package/tasks/identify/BuildingComponentSublayerClientSideIdentifyProvider.js +1 -1
  83. package/tasks/identify/BuildingComponentSublayerHitTestIdentifyProvider.js +1 -1
  84. package/tasks/identify/CSVLayer3DHitTestIdentifyProvider.js +1 -1
  85. package/tasks/identify/CSVLayerClientSideQueryIdentifyProvider.js +1 -1
  86. package/tasks/identify/ClientSideIdentifyProvider.js +1 -1
  87. package/tasks/identify/FeatureLayer3DHitTestIdentifyProvider.js +1 -1
  88. package/tasks/identify/FeatureLayerClientSideIdentifyProvider.js +1 -1
  89. package/tasks/identify/FeatureLayerQueryIdentifyProvider.js +1 -1
  90. package/tasks/identify/HitTestIdentifyProvider.js +1 -1
  91. package/tasks/identify/IdentifyProviderBase.js +1 -1
  92. package/tasks/identify/IdentifyService.js +1 -1
  93. package/tasks/identify/ImageryLayerIdentifyProvider.js +1 -1
  94. package/tasks/identify/PointCloudLayerHitTestIdentifyProvider.js +1 -1
  95. package/tasks/identify/SceneLayerHitTestIdentifyProvider.js +1 -1
  96. package/tasks/identify/SceneLayerQueryIdentifyProvider.js +1 -1
  97. package/tasks/identify/StreamLayerClientSideQueryIdentifyProvider.js +1 -1
  98. package/tasks/identify/WMSSublayerIdentifyProvider.js +1 -1
  99. package/tasks/identify/_utilities.js +1 -1
  100. package/tasks/query/ArcGISRelationship.js +1 -1
  101. package/tasks/query/BuildingComponentSublayerClientSideQueryProvider.js +1 -1
  102. package/tasks/query/CSVLayerClientSideQueryProvider.js +1 -1
  103. package/tasks/query/ClientSideQueryProvider.js +1 -1
  104. package/tasks/query/FeatureLayerQueryProvider.js +1 -1
  105. package/tasks/query/ImageryLayerQueryProvider.js +1 -1
  106. package/tasks/query/SceneLayerClientSideQueryProvider.js +1 -1
  107. package/tasks/query/StreamLayerClientSideQueryProvider.js +1 -1
  108. package/tasks/search/ArcGISGeocoderSearchProvider.js +1 -1
  109. package/tasks/search/GeocoderSearchProvider.js +1 -1
  110. package/tasks/search/QuerySearchProvider.js +1 -1
  111. package/tasks/search/SearchService.js +1 -1
  112. package/tasks/search/_utilities.js +1 -1
  113. package/utilities/_layers.js +1 -1
  114. package/utilities/arcade.js +1 -1
  115. package/utilities/checkArg.js +1 -1
  116. package/utilities/date.js +1 -1
  117. package/utilities/esri.js +1 -1
  118. package/utilities/extensions.js +1 -1
  119. package/utilities/geometry.js +1 -1
  120. package/utilities/mapping.js +1 -1
  121. package/utilities/number.js +1 -1
  122. package/utilities/portal.js +1 -1
  123. package/utilities/query.js +1 -1
  124. package/utilities/renderers.js +1 -1
  125. package/utilities/scaleRanges.js +1 -1
  126. package/utilities/string.js +1 -1
  127. package/utilities/symbol.js +1 -1
  128. package/utilities/watch.js +1 -1
  129. package/version.d.ts +1 -1
  130. package/version.js +1 -1
@@ -1 +1 @@
1
- import Extent from"@arcgis/core/geometry/Extent";import Multipoint from"@arcgis/core/geometry/Multipoint";import Point from"@arcgis/core/geometry/Point";import Polygon from"@arcgis/core/geometry/Polygon";import Polyline from"@arcgis/core/geometry/Polyline";import SpatialReference from"@arcgis/core/geometry/SpatialReference";import{buffer as esriBuffer,difference,geodesicBuffer as esriGeodesicBuffer,union}from"@arcgis/core/geometry/geometryEngine";import{isLoaded,load,getTransformation,project as projectionEngineProject}from"@arcgis/core/geometry/projection";import{canProject,project as webMercatorProject}from"@arcgis/core/geometry/support/webMercatorUtils";import{buffer as esriGeometryServiceBuffer,project as esriGeometryServiceProject}from"@arcgis/core/rest/geometryService";import BufferParameters from"@arcgis/core/rest/support/BufferParameters";import ProjectParameters from"@arcgis/core/rest/support/ProjectParameters";import{ArgumentError}from"../ArgumentError.js";import{config}from"../config.js";import{GeometryServiceError}from"./GeometryServiceError.js";import{getGmlNS,ogcSrsToEsriSr}from"./_ogc.js";import{groupBy}from"./array.js";import{checkArg}from"./checkArg.js";import{isEsriObject}from"./esri.js";import{parse}from"./number.js";export{}from"./transformation.js";const wktRegex=/^(POINT|MULTIPOINT|LINESTRING|MULTILINESTRING|POLYGON)\s(?:(ZM|Z|M)\s)?(\(.+\))$/,wktPointRegex=/^\(?([-\d.]+)\s([-\d.]+)(?:\s([-\d.]+))?(?:\s([-\d.]+))?\)?$/,wktArrayRegex=/^\(([-\d.\s(),]+)\)$/,gmlToEsriParseError="Unable to convert the GML geometry into an Esri geometry.",DEFAULT_GEOMETRY_SERVICE_URL="https://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer",wktNameRegex=/^(PROJCS|GEOGCS|VERTCS|GEOGTRAN|VERTTRAN)\s?\[\s?"(\w+)",.*/,commonWktStrings={4326:{name:"GCS_WGS_1984",wkt:'GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]'},102100:{name:"WGS_1984_Web_Mercator_Auxiliary_Sphere",wkt:'PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]'}},wktModules={PROJCS:"projected",GEOGCS:"geographic",VERTCS:"vertical",GEOGTRAN:"transformations",VERTTRAN:"vertical-transformations"},wktData={};export class CoordinateSystemBounds{constructor(e){this.limit=e}get min(){return-this.limit}get max(){return this.limit}get range(){return 2*this.limit}}export const WEB_MERCATOR_BOUNDS=new CoordinateSystemBounds(20037508.342788905);export const GEOGRAPHIC_BOUNDS=new CoordinateSystemBounds(180);export function getBounds(e){return e.isWebMercator?WEB_MERCATOR_BOUNDS:e.isGeographic?GEOGRAPHIC_BOUNDS:void 0}export function getScreenExtent(e){if(!e||0===e.length)return;let r,t,n,o;const{spatialReference:i}=e[0];let s;i.isWebMercator?s=WEB_MERCATOR_BOUNDS:i.isGeographic&&(s=GEOGRAPHIC_BOUNDS);const a=(e,i)=>{(!t||e>t)&&(t=e),(!r||e<r)&&(r=e),(!o||i>o)&&(o=i),(!n||i<n)&&(n=i)},c=e=>s&&Math.sign(e.extent.xmax)!==Math.sign(e.extent.xmin),l=e=>{const r=c(e)?denormalize([e.points],s)[0]:e.points;for(const e of r)a(e[0],e[1])},m=e=>{const r=c(e)?denormalize(e.rings,s):e.rings;for(const e of r)for(const r of e)a(r[0],r[1])},g=e=>{const r=c(e)?denormalize(e.paths,s):e.paths;for(const e of r)for(const r of e)a(r[0],r[1])};for(const r of e.filter((e=>e.spatialReference.equals(i))))switch(r.type){case"point":a(r.x,r.y);break;case"multipoint":l(r);break;case"extent":m(Polygon.fromExtent(r));break;case"polyline":g(r);break;case"polygon":m(r);break;default:throw new Error(`Cannot determine a valid screen extent for geometry type ${r.type}`)}return new Extent({xmin:r>t?t:r,xmax:t<r?r:t,ymin:n,ymax:o,spatialReference:i})}function denormalize(e,r){if(!r)return e;const t=[...e];let n=-1/0,o=1/0;for(let e of t){let t=-1/0,i=1/0;for(const n of e){for(;n[0]<r.min;)n[0]+=r.range;for(;n[0]>r.max;)n[0]-=r.range;i=Math.min(i,n[0]),t=Math.max(t,n[0])}let s=Math.min(o,i),a=Math.max(n,t);if(a-s>r.limit){t=-1/0,i=1/0;const c=[...e];for(const e of c)e[0]<0?e[0]+=r.range:e[0]-=r.range,i=Math.min(i,e[0]),t=Math.max(t,e[0]);const l=Math.min(o,i),m=Math.max(n,t);m-l<a-s&&(e=c,s=l,a=m)}o=Math.min(s,i),n=Math.max(a,t)}return t}export function denormalizeExtent(e,r){if(!r)return e;const t=Polygon.fromExtent(e);return t.rings=denormalize(t.rings,r),t.extent}export function esriToWKT(e){checkArg("geometry",e).isNotMissing();const r=`${e.hasZ?"Z":""}${e.hasM?"M":""}${e.hasM||e.hasZ?" ":""}`;if(isPoint(e)){const{x:t,y:n,z:o,m:i}=e,s=[t,n];return e.hasZ&&s.push(o),e.hasM&&s.push(i),`POINT ${r}(${_createWktPoint(s)})`}if(isMultipoint(e))return`MULTIPOINT ${r}(${_createWktPointArray(e.points)})`;if(isPolyline(e))return e.paths.length>1?`MULTILINESTRING ${r}(${_createWkt2DPointArray(e.paths)})`:`LINESTRING ${r}(${_createWktPointArray(e.paths[0])})`;if(isPolygon(e))return`POLYGON ${r}(${_createWkt2DPointArray(e.rings)})`;if(isExtent(e)){const t=[e.xmin,e.ymax];return`POLYGON ${r}(${_createWkt2DPointArray([[t,[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin],t]])})`}throw new ArgumentError("Cannot determine what type of WKT geometry to create")}export function wktToEsri(e,r){var t,n;checkArg("geometry",e).isNotMissing();const o=e.match(wktRegex);if(o){const e=null===(t=o[2])||void 0===t?void 0:t.includes("Z"),i=null===(n=o[2])||void 0===n?void 0:n.includes("M");switch(o[1]){case"POINT":{const t=_parseWktPoint(o[3],o[2]);return new Point({x:t[0],y:t[1],z:e?t[2]:void 0,m:!e&&i?t[2]:i?t[3]:void 0,hasZ:e,hasM:i,spatialReference:r||SpatialReference.WGS84})}case"MULTIPOINT":{const t=_parseWktPointArray(o[3],o[2]);return new Multipoint({points:t,hasZ:e,hasM:i,spatialReference:r||SpatialReference.WGS84})}case"LINESTRING":{const t=_parseWktPointArray(o[3],o[2]);return new Polyline({paths:[t],hasZ:e,hasM:i,spatialReference:r||SpatialReference.WGS84})}case"MULTILINESTRING":{const t=_parseWkt2DPointArray(o[3],o[2]);return new Polyline({paths:t,hasZ:e,hasM:i,spatialReference:r||SpatialReference.WGS84})}case"POLYGON":{const t=_parseWkt2DPointArray(o[3],o[2]);return new Polygon({rings:t,hasZ:e,hasM:i,spatialReference:r||SpatialReference.WGS84})}}}throw new ArgumentError("Cannot determine what type of esri geometry to create")}export function esriToGeoJSON(e){if(checkArg("geometry",e).isNotMissing(),isPoint(e)){const{x:r,y:t}=e;return{type:"Point",coordinates:[r,t]}}if(isMultipoint(e))return{type:"MultiPoint",coordinates:e.points};if(isPolyline(e))return e.paths.length>1?{type:"MultiLineString",coordinates:e.paths}:{type:"LineString",coordinates:e.paths[0]};if(isPolygon(e))return{type:"Polygon",coordinates:e.rings};if(isExtent(e)){const r=[e.xmin,e.ymax];return{type:"Polygon",coordinates:[[r,[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin],r]]}}throw new ArgumentError("Cannot determine what type of WKT geometry to create")}export function geoJSONToEsri(e){switch(checkArg("geometry",e).isNotMissing(),checkArg("geometry.type",e.type).isNotMissing(),e.type){case"Point":return checkArg("geometry.coordinates",e.coordinates).satisfies(_isGeoJSONPoint),new Point({x:e.coordinates[0],y:e.coordinates[1],spatialReference:SpatialReference.WGS84});case"MultiPoint":return checkArg("geometry.coordinates",e.coordinates).satisfies(_isGeoJSONPointArray),new Multipoint({points:e.coordinates,spatialReference:SpatialReference.WGS84});case"LineString":return checkArg("geometry.coordinates",e.coordinates).satisfies(_isGeoJSONPointArray),new Polyline({paths:[e.coordinates],spatialReference:SpatialReference.WGS84});case"MultiLineString":return checkArg("geometry.coordinates",e.coordinates).satisfies(_isGeoJSON2DPointArray),new Polyline({paths:e.coordinates,spatialReference:SpatialReference.WGS84});case"Polygon":return checkArg("geometry.coordinates",e.coordinates).satisfies(_isGeoJSON2DPointArray),new Polygon({rings:e.coordinates,spatialReference:SpatialReference.WGS84});case"MultiPolygon":return checkArg("geometry.coordinates",e.coordinates).satisfies(_isGeoJSON2DPointArrayArray),new Polygon({rings:e.coordinates.flat(),spatialReference:SpatialReference.WGS84})}throw new ArgumentError("Cannot determine what type of esri geometry to create")}export function gmlToEsri(e){switch(checkArg("geometry",e).isNotMissing(),e.localName){case"Point":return _createEsriPoint(e);case"MultiPoint":return _createEsriMultiPoint(e);case"LineString":case"Curve":case"MultiLineString":case"MultiCurve":return _createEsriPolyline(e);case"Polygon":case"MultiPolygon":return _createEsriPolygon(e);default:throw new ArgumentError("Unrecognized geometry type.")}}export function esriToGml(e,r){switch(checkArg("geometry",e).isNotMissing(),checkArg("geometry type",e.type).isNotMissing(),checkArg("gmlVersion",r.gmlVersion).isNotMissing(),e.type){case"point":return _createGmlPointElement(e,r);case"polyline":return _createGmlLineStringElement(e,r);case"polygon":case"extent":return _createGmlPolygonElement(e,r);default:throw new ArgumentError(`Unrecognized geometry type: ${e.type}. Must be one of point, polyline or polygon.`)}}export async function esriWkidToWkt(e){checkArg("wkid",e).isNotMissing();let r=commonWktStrings[`${e}`];if(!r)for(const t of Object.keys(wktModules)){const n=wktModules[t];if(r=(await fetchEsriProjCodes(n))[e],r){const t=r.wkt.match(wktNameRegex);commonWktStrings[e]={name:t[2],wkt:r.wkt};break}}if(!r)throw new Error(`Failed to find Wkt for id ${e}`);return r.wkt}export async function esriWktToWkid(e){checkArg("wkt",e).isNotMissing();const r=e.match(wktNameRegex);if(r){let e=Object.keys(commonWktStrings).find((e=>commonWktStrings[e].name===r[2]));if(!e){const t=wktModules[r[1]];if(t){const n=await fetchEsriProjCodes(t);e=Object.keys(n).find((e=>n[e].name===r[2])),e&&(commonWktStrings[e]={name:r[2],wkt:n[e].wkt})}}if(e)return parseInt(e)}throw new Error(`Failed to find Wkid for ${e}`)}export function createCrossTypeUnion(e){const r=[],t=groupBy(e,(e=>e.type));for(const e of GEOM_ORDER){const n=t.get(e);let o;if(null==n?void 0:n.length){o=n.length>1?union(n):n[0];for(const e of r)o=difference(o,e);o&&r.push(o)}}return r}const GEOM_ORDER=["mesh","extent","polygon","polyline","multipoint","point"];async function fetchEsriProjCodes(e){if(void 0===wktData[e])switch(e){case wktModules.GEOGCS:wktData[e]=(await import("esri-proj-codes/geographic.json")).default;break;case wktModules.PROJCS:wktData[e]=(await import("esri-proj-codes/projected.json")).default;break;case wktModules.GEOGTRAN:wktData[e]=(await import("esri-proj-codes/transformations.json")).default;break;case wktModules.VERTCS:wktData[e]=(await import("esri-proj-codes/vertical.json")).default;break;case wktModules.VERTTRAN:wktData[e]=(await import("esri-proj-codes/vertical-transformations.json")).default}const r=wktData[e];if(!r)throw new Error(`Invalid esri-proj-codes module: ${e}`);return r}export async function project(e,r,t){checkArg("geometries",e).isNotMissing().satisfies(_geometriesAreUniform,"All geometries must have the same type and spatial reference."),checkArg("outSpatialReference",r).isNotMissing();const n=Array.from(e);if(n.length<=0)return n;const o=_getInputSpatialReference(e),i=_getProjectOptions(o,r,t);if(void 0===i){if(o.equals(r))return n;if(canProject(o,r))return n.map((e=>webMercatorProject(e,r)));if(isLoaded()||await load(),null!==getTransformation(o,r)){const e=projectionEngineProject(n,r);return Array.isArray(e)?e:[e]}}if(i&&i.steps.length>1)throw new ArgumentError("GeographicTransformation","Geometry Service can't handle a two step transformation");return _projectWithGeometryService(n,r,i)}export async function buffer(e,r,t,n=!1){const o=Array.isArray(e),i=Array.isArray(r);if(o!==i)throw new ArgumentError("Geometries and distances must be the same type.");const s=Array.isArray(e)?e[0].spatialReference:e.spatialReference;if(s.isWebMercator||s.isWGS84)return esriGeodesicBuffer(e,r,t,n);if(s.isGeographic){const s=new BufferParameters({geometries:o?e:[e],distances:i?r:[r],unit:t,unionResults:n});return esriGeometryServiceBuffer(getGeometryServiceUrl(),s)}return esriBuffer(e,r,t,n)}export function removeZValues(e){const r=e;switch(r.type){case"point":r.z=void 0;break;case"polyline":case"polygon":_removeZCoords(r.paths||r.rings,r.hasM).forEach(((e,t)=>e.forEach(((e,n)=>r.setPoint(t,n,e)))));break;case"extent":r.zmax=void 0,r.zmin=void 0}return r}function _removeZCoords(e,r=!1){const t=r?3:2;return e.map((e=>e.map((e=>e.slice(0,t)))))}function _createWktPoint(e){return e.join(" ")}function _createWktPointArray(e){return e.map(_createWktPoint).join(", ")}function _createWkt2DPointArray(e){return e.map((e=>`(${_createWktPointArray(e)})`)).join(", ")}function _parseInvariant(e){return parse({locale:"inv"},e)}function _parseWktPoint(e,r){const t=null!=r?r:"",n=e.match(wktPointRegex);if(n){const e=[_parseInvariant(n[1]),_parseInvariant(n[2])];return(t.includes("Z")||!t.includes("Z")&&t.includes("M"))&&n[3]&&e.push(_parseInvariant(n[3])),t.includes("M")&&n[4]&&e.push(_parseInvariant(n[4])),e}throw new ArgumentError(`Detected invalid WKT point: ${e}`)}function _parseWktPointArray(e,r){const t=e.match(wktArrayRegex);if(t)return _parseWktArray(t[1]).map((e=>_parseWktPoint(e,r)));throw new ArgumentError(`Detected invalid WKT point array: ${e}`)}function _parseWkt2DPointArray(e,r){const t=e.match(wktArrayRegex);if(t)return _parseWktArray(t[1]).map((e=>_parseWktPointArray(e,r)));throw new ArgumentError(`Detected invalid WKT 2D point array: ${e}`)}function _parseWktArray(e){let r=e.trim().replace(/\s*,\s*/g,","),t=0;for(let e=0;e<r.length;e++)switch(r.charAt(e)){case"(":t++;break;case")":t--;break;case",":0===t&&(r=`${r.substr(0,e)}&${r.substr(e+1)}`)}return r.split("&")}function _isGeoJSONPoint(e){return!!Array.isArray(e)&&!e.some((e=>"number"!=typeof e))}function _isGeoJSONPointArray(e){return!!Array.isArray(e)&&!e.some((e=>!_isGeoJSONPoint(e)))}function _isGeoJSON2DPointArray(e){return!!Array.isArray(e)&&!e.some((e=>!_isGeoJSONPointArray(e)))}function _isGeoJSON2DPointArrayArray(e){return!!Array.isArray(e)&&!e.some((e=>!_isGeoJSON2DPointArray(e)))}async function _projectWithGeometryService(e,r,t){const n=new ProjectParameters({geometries:e,outSpatialReference:r});(null==t?void 0:t.hasOwnProperty("transformation"))&&(n.transformation=t.steps[0].wkid?{wkid:t.steps[0].wkid}:{wkt:t.steps[0].wkt},n.transformForward=!t.hasOwnProperty("transformForward")||!t.steps[0].isInverse);try{return await esriGeometryServiceProject(getGeometryServiceUrl(),n)}catch(e){throw e instanceof Error?new GeometryServiceError(e):e}}function _geometriesAreUniform(e){const r=[...e];if(!(r.length>0))return!0;const t=r[0].type,n=r[0].spatialReference;return r.every((e=>e.type===t&&e.spatialReference.equals(n)))}function _getInputSpatialReference(e){for(const r of e)if(null!==(null==r?void 0:r.spatialReference))return r.spatialReference;return SpatialReference.WebMercator}function _getProjectOptions(e,r,t){return(null==t?void 0:t.hasOwnProperty("steps"))?{...t}:_getTransformProjectOptions(e,r)}function _getTransformProjectOptions(e,r){if(checkArg("inSr",e).isNotMissing(),checkArg("outSR",r).isNotMissing(),0===config.autoTransformations.length)return;const t=config.autoTransformations.filter((r=>r.inSpatialReference.equals(e))).filter((e=>e.outSpatialReference.equals(r)));if(t.length>0)return{...t[0].transformation};const n=config.autoTransformations.filter((e=>e.inSpatialReference.equals(r))).filter((r=>r.outSpatialReference.equals(e)));return n.length>0?{...n[0].transformation}:void 0}function _createEsriPoint(e){const r=_getEsriSpatialReference(e),t=_parseGmlCoordPair(e);if(t&&t.length>1)return new Point({x:t[0],y:t[1],spatialReference:r});throw new ArgumentError(gmlToEsriParseError)}function _createEsriMultiPoint(e){const r=new Array,t=_getEsriSpatialReference(e);if(e.childElementCount>0){const t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"pointMember")),n=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"pointMembers")),o=t.concat(...n);for(const e of o){const t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"Point"));for(const e of t)r.push(_parseGmlCoordPair(e))}}if(r&&r.length>0)return new Multipoint({points:r,spatialReference:t});throw new ArgumentError(gmlToEsriParseError)}function _createEsriPolyline(e){let r;const t=_getEsriSpatialReference(e);if("LineString"===e.localName?r=_parseGmlLineString(e):"Curve"===e.localName&&e.childElementCount>0?r=_parseGmlCurve(e):"MultiLineString"===e.localName&&e.childElementCount>0?r=_parseGmlMultiLineString(e):"MultiCurve"===e.localName&&e.childElementCount>0&&(r=_parseGmlMultiCurve(e)),r&&r.length>0)return new Polyline({paths:r,spatialReference:t});throw new ArgumentError(gmlToEsriParseError)}function _createEsriPolygon(e){let r;const t=_getEsriSpatialReference(e);if("Polygon"===e.localName?r=_parseGmlPolygon(e):"MultiPolygon"===e.localName&&(r=_parseGmlMultiPolygon(e)),r&&r.length>0)return new Polygon({rings:r,spatialReference:t});throw new ArgumentError(gmlToEsriParseError)}function _parseGmlLineString(e){return[_parseGmlCoords(e)]}function _parseGmlCurve(e){const r=new Array,t=e.getElementsByTagNameNS(e.namespaceURI,"segments");if(t.length>0){const n=Array.from(t[0].getElementsByTagNameNS(e.namespaceURI,"LineStringSegment"));for(const e of n){const t=_parseGmlCoords(e);r.push(t)}}return r}function _parseGmlMultiLineString(e){const r=new Array,t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"lineStringMember"));for(const e of t){const t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"LineString"));for(const e of t)r.push(_parseGmlCoords(e))}return r}function _parseGmlMultiCurve(e){const r=new Array,t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"curveMember")),n=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"curveMembers")),o=t.concat(...n);for(const e of o){const t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"LineString"));for(const e of t)r.push(_parseGmlCoords(e))}return r}function _parseGmlPolygon(e){checkArg("geometry",e).isNotMissing();const r=new Array,t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"outerBoundaryIs")),n=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"innerBoundaryIs")),o=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"exterior")),i=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"interior")),s=t.concat(...n).concat(...o).concat(...i);for(const e of s){const t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"LinearRing"));for(const e of t)r.push(_parseGmlCoords(e))}return r}function _parseGmlMultiPolygon(e){checkArg("geometry",e).isNotMissing();const r=new Array,t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"polygonMember"));for(const e of t){const t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"Polygon"));for(const e of t){const t=_parseGmlPolygon(e);r.push(...t)}}return r}function _parseGmlCoordPair(e){if(checkArg("geometry",e).isNotMissing(),"Point"!==e.localName)throw new ArgumentError(gmlToEsriParseError);const r=e.getElementsByTagNameNS(e.namespaceURI,"coordinates"),t=e.getElementsByTagNameNS(e.namespaceURI,"pos");if(r.length>0&&r[0].childNodes[0].nodeType===Node.TEXT_NODE){return _parseGmlCoordPairFromString(r[0].childNodes[0].data)}if(t.length>0&&t[0].childNodes[0].nodeType===Node.TEXT_NODE){return _parseGmlCoordPairFromString(t[0].childNodes[0].data)}throw new ArgumentError(gmlToEsriParseError)}function _parseGmlCoordPairFromString(e){const r=e.replace(/,/g,"").split(" ").map(Number);if(2===r.length)return[r[0],r[1]];throw new ArgumentError(gmlToEsriParseError)}function _parseGmlCoords(e){if(checkArg("geometry",e).isNotMissing(),"LineString"!==e.localName&&"LinearRing"!==e.localName&&"LineStringSegment"!==e.localName)throw new ArgumentError(gmlToEsriParseError);const r=e.getElementsByTagNameNS(e.namespaceURI,"coordinates"),t=e.getElementsByTagNameNS(e.namespaceURI,"posList");if(r.length>0&&r[0].childNodes[0].nodeType===Node.TEXT_NODE){return _parseCoordsFromString(r[0].childNodes[0].data)}if(t.length>0&&t[0].childNodes[0].nodeType===Node.TEXT_NODE){return _parseCoordsFromString(t[0].childNodes[0].data)}throw new ArgumentError(gmlToEsriParseError)}function _parseCoordsFromString(e){const r=e.replace(/,/g,"").split(" ").map(Number),t=new Array;for(let e=0;e<r.length;e+=2){if(void 0===r[e+1])throw new ArgumentError(gmlToEsriParseError);t.push([r[e],r[e+1]])}if(t.length>0)return t;throw new ArgumentError(gmlToEsriParseError)}function _getEsriSpatialReference(e){return checkArg("geometry",e).isNotMissing(),e.hasAttribute("srsName")?ogcSrsToEsriSr(e.getAttribute("srsName")):SpatialReference.WebMercator}function _createGmlPointElement(e,r){const t=getGmlNS(r.gmlVersion),n=_createElementWithNS(t,"Point","gml");let o,i;_applySrsAttributes(n,_getSrsName(e,r),r.hasOwnProperty("srsDimension")?r.srsDimension:void 0),"2.0"===r.gmlVersion||"3.0"===r.gmlVersion?(o=_createElementWithNS(t,"coordinates","gml"),i=_esriPointToString(", ",e)):(o=_createElementWithNS(t,"pos","gml"),i=_esriPointToString(" ",e)),n.appendChild(o);const s=_createTextNode(i);return o.appendChild(s),n}function _createGmlLineStringElement(e,r){const t=getGmlNS(r.gmlVersion),n=_createElementWithNS(t,"LineString","gml");let o,i;_applySrsAttributes(n,_getSrsName(e,r),r.hasOwnProperty("srsDimension")?r.srsDimension:void 0),"2.0"===r.gmlVersion||"3.0"===r.gmlVersion?(o=_createElementWithNS(t,"coordinates","gml"),i=_esriPolylineToString(", ",e)):(o=_createElementWithNS(t,"posList","gml"),i=_esriPolylineToString(" ",e)),n.appendChild(o);const s=_createTextNode(i);return o.appendChild(s),n}function _createGmlPolygonElement(e,r){const t=getGmlNS(r.gmlVersion),n=_createElementWithNS(t,"Polygon","gml");_applySrsAttributes(n,_getSrsName(e,r),r.hasOwnProperty("srsDimension")?r.srsDimension:void 0);const o="2.0"===r.gmlVersion?_createElementWithNS(t,"outerBoundaryIs","gml"):_createElementWithNS(t,"exterior","gml");n.appendChild(o);const i=_createElementWithNS(t,"LinearRing","gml");let s,a;o.appendChild(i),"2.0"===r.gmlVersion||"3.0"===r.gmlVersion?(s=_createElementWithNS(t,"coordinates","gml"),a=_esriPolygonToString(", ",e)):(s=_createElementWithNS(t,"posList","gml"),a=_esriPolygonToString(" ",e)),i.appendChild(s);const c=_createTextNode(a);return s.appendChild(c),n}function _getSrsName(e,r){if(r.hasOwnProperty("srsName"))return r.srsName;if(void 0!==e.spatialReference.wkid&&null!==e.spatialReference.wkid){if(e.spatialReference.wkid<32767)return`EPSG:${e.spatialReference.wkid}`;if(102100===e.spatialReference.wkid||900913===e.spatialReference.wkid||102113===e.spatialReference.wkid)return"EPSG:3857"}throw new ArgumentError("Unable to convert Esri WKT spatial reference to an OGC spatial reference")}function _applySrsAttributes(e,r,t){if(null!=r&&(e.setAttribute("srsName",r),null!=t)){const r=t<1?2:t;e.setAttribute("srsDimension",r.toString())}}function _createElementWithNS(e,r,t){checkArg("namespace",e).isNotMissing(),checkArg("name",r).isNotMissing();return document.implementation.createDocument(void 0,"temp",void 0).createElementNS(e,t?`${t}:${r}`:r)}function _createTextNode(e){return document.implementation.createDocument(void 0,"temp",void 0).createTextNode(e)}function _esriPointToString(e,r){const t=r;return" "===e?`${t.x} ${t.y}`:`${t.x}, ${t.y}`}function _esriPolylineToString(e,r){return r.paths[0].map((r=>r.join(e))).join(" ")}function _esriPolygonToString(e,r){let t;if(isPolygon(r))t=r.rings[0];else if(isExtent(r)){const{xmin:e,xmax:n,ymin:o,ymax:i}=r;t=[[e,i],[n,i],[n,o],[e,o],[e,i]]}return t.map((r=>r.join(e))).join(" ")}function getGeometryServiceUrl(){var e,r,t;return null!==(t=null!==(e=config.geometryServiceUrl)&&void 0!==e?e:null===(r=config._geometryService)||void 0===r?void 0:r.url)&&void 0!==t?t:DEFAULT_GEOMETRY_SERVICE_URL}export function isGeometry(e){return isPoint(e)||isMultipoint(e)||isPolyline(e)||isPolygon(e)||isExtent(e)||isMesh(e)}export function isPoint(e){return isEsriObject(e)&&"point"===(null==e?void 0:e.type)}export function isMultipoint(e){return isEsriObject(e)&&"multipoint"===(null==e?void 0:e.type)}export function isPolyline(e){return isEsriObject(e)&&"polyline"===(null==e?void 0:e.type)}export function isPolygon(e){return isEsriObject(e)&&"polygon"===(null==e?void 0:e.type)}export function isExtent(e){return isEsriObject(e)&&"extent"===(null==e?void 0:e.type)}export function isMesh(e){return isEsriObject(e)&&"mesh"===(null==e?void 0:e.type)}
1
+ import Extent from"@arcgis/core/geometry/Extent";import Multipoint from"@arcgis/core/geometry/Multipoint";import Point from"@arcgis/core/geometry/Point";import Polygon from"@arcgis/core/geometry/Polygon";import Polyline from"@arcgis/core/geometry/Polyline";import SpatialReference from"@arcgis/core/geometry/SpatialReference";import{buffer as esriBuffer,difference,geodesicBuffer as esriGeodesicBuffer,union}from"@arcgis/core/geometry/geometryEngine";import{isLoaded,load,getTransformation,project as projectionEngineProject}from"@arcgis/core/geometry/projection";import{canProject,project as webMercatorProject}from"@arcgis/core/geometry/support/webMercatorUtils";import{buffer as esriGeometryServiceBuffer,project as esriGeometryServiceProject}from"@arcgis/core/rest/geometryService";import BufferParameters from"@arcgis/core/rest/support/BufferParameters";import ProjectParameters from"@arcgis/core/rest/support/ProjectParameters";import{ArgumentError}from"../ArgumentError.js";import{config}from"../config.js";import{GeometryServiceError}from"./GeometryServiceError.js";import{getGmlNS,ogcSrsToEsriSr}from"./_ogc.js";import{groupBy}from"./array.js";import{checkArg}from"./checkArg.js";import{isEsriObject}from"./esri.js";import{parse}from"./number.js";export{}from"./transformation.js";const wktRegex=/^(POINT|MULTIPOINT|LINESTRING|MULTILINESTRING|POLYGON)\s(?:(ZM|Z|M)\s)?(\(.+\))$/,wktPointRegex=/^\(?([-\d.]+)\s([-\d.]+)(?:\s([-\d.]+))?(?:\s([-\d.]+))?\)?$/,wktArrayRegex=/^\(([-\d.\s(),]+)\)$/,gmlToEsriParseError="Unable to convert the GML geometry into an Esri geometry.",DEFAULT_GEOMETRY_SERVICE_URL="https://tasks.arcgisonline.com/ArcGIS/rest/services/Geometry/GeometryServer",wktNameRegex=/^(PROJCS|GEOGCS|VERTCS|GEOGTRAN|VERTTRAN)\s?\[\s?"(\w+)",.*/,commonWktStrings={4326:{name:"GCS_WGS_1984",wkt:'GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]'},102100:{name:"WGS_1984_Web_Mercator_Auxiliary_Sphere",wkt:'PROJCS["WGS_1984_Web_Mercator_Auxiliary_Sphere",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Mercator_Auxiliary_Sphere"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],PARAMETER["Auxiliary_Sphere_Type",0.0],UNIT["Meter",1.0]]'}},wktModules={PROJCS:"projected",GEOGCS:"geographic",VERTCS:"vertical",GEOGTRAN:"transformations",VERTTRAN:"vertical-transformations"},wktData={};export class CoordinateSystemBounds{constructor(e){this.limit=e}get min(){return-this.limit}get max(){return this.limit}get range(){return 2*this.limit}}export const WEB_MERCATOR_BOUNDS=new CoordinateSystemBounds(20037508.342788905);export const GEOGRAPHIC_BOUNDS=new CoordinateSystemBounds(180);export function getBounds(e){return e.isWebMercator?WEB_MERCATOR_BOUNDS:e.isGeographic?GEOGRAPHIC_BOUNDS:void 0}export function getScreenExtent(e){if(!e||0===e.length)return;let r,t,n,o;const{spatialReference:i}=e[0];let s;i.isWebMercator?s=WEB_MERCATOR_BOUNDS:i.isGeographic&&(s=GEOGRAPHIC_BOUNDS);const a=(e,i)=>{(!t||e>t)&&(t=e),(!r||e<r)&&(r=e),(!o||i>o)&&(o=i),(!n||i<n)&&(n=i)},c=e=>s&&Math.sign(e.extent.xmax)!==Math.sign(e.extent.xmin),m=e=>{const r=c(e)?denormalize([e.points],s)[0]:e.points;for(const e of r)a(e[0],e[1])},l=e=>{const r=c(e)?denormalize(e.rings,s):e.rings;for(const e of r)for(const r of e)a(r[0],r[1])},g=e=>{const r=c(e)?denormalize(e.paths,s):e.paths;for(const e of r)for(const r of e)a(r[0],r[1])};for(const r of e.filter((e=>e.spatialReference.equals(i))))switch(r.type){case"point":a(r.x,r.y);break;case"multipoint":m(r);break;case"extent":l(Polygon.fromExtent(r));break;case"polyline":g(r);break;case"polygon":l(r);break;default:throw new Error(`Cannot determine a valid screen extent for geometry type ${r.type}`)}return new Extent({xmin:r>t?t:r,xmax:t<r?r:t,ymin:n,ymax:o,spatialReference:i})}function denormalize(e,r){if(!r)return e;const t=[...e];let n=-1/0,o=1/0;for(let e of t){let t=-1/0,i=1/0;for(const n of e){for(;n[0]<r.min;)n[0]+=r.range;for(;n[0]>r.max;)n[0]-=r.range;i=Math.min(i,n[0]),t=Math.max(t,n[0])}let s=Math.min(o,i),a=Math.max(n,t);if(a-s>r.limit){t=-1/0,i=1/0;const c=[...e];for(const e of c)e[0]<0?e[0]+=r.range:e[0]-=r.range,i=Math.min(i,e[0]),t=Math.max(t,e[0]);const m=Math.min(o,i),l=Math.max(n,t);l-m<a-s&&(e=c,s=m,a=l)}o=Math.min(s,i),n=Math.max(a,t)}return t}export function denormalizeExtent(e,r){if(!r)return e;const t=Polygon.fromExtent(e);return t.rings=denormalize(t.rings,r),t.extent}export function esriToWKT(e){checkArg("geometry",e).isNotMissing();const r=`${e.hasZ?"Z":""}${e.hasM?"M":""}${e.hasM||e.hasZ?" ":""}`;if(isPoint(e)){const{x:t,y:n,z:o,m:i}=e,s=[t,n];return e.hasZ&&s.push(o),e.hasM&&s.push(i),`POINT ${r}(${_createWktPoint(s)})`}if(isMultipoint(e))return`MULTIPOINT ${r}(${_createWktPointArray(e.points)})`;if(isPolyline(e))return e.paths.length>1?`MULTILINESTRING ${r}(${_createWkt2DPointArray(e.paths)})`:`LINESTRING ${r}(${_createWktPointArray(e.paths[0])})`;if(isPolygon(e))return`POLYGON ${r}(${_createWkt2DPointArray(e.rings)})`;if(isExtent(e)){const t=[e.xmin,e.ymax];return`POLYGON ${r}(${_createWkt2DPointArray([[t,[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin],t]])})`}throw new ArgumentError("Cannot determine what type of WKT geometry to create")}export function wktToEsri(e,r){checkArg("geometry",e).isNotMissing();const t=e.match(wktRegex);if(t){const e=t[2]?.includes("Z"),n=t[2]?.includes("M");switch(t[1]){case"POINT":{const o=_parseWktPoint(t[3],t[2]);return new Point({x:o[0],y:o[1],z:e?o[2]:void 0,m:!e&&n?o[2]:n?o[3]:void 0,hasZ:e,hasM:n,spatialReference:r||SpatialReference.WGS84})}case"MULTIPOINT":{const o=_parseWktPointArray(t[3],t[2]);return new Multipoint({points:o,hasZ:e,hasM:n,spatialReference:r||SpatialReference.WGS84})}case"LINESTRING":{const o=_parseWktPointArray(t[3],t[2]);return new Polyline({paths:[o],hasZ:e,hasM:n,spatialReference:r||SpatialReference.WGS84})}case"MULTILINESTRING":{const o=_parseWkt2DPointArray(t[3],t[2]);return new Polyline({paths:o,hasZ:e,hasM:n,spatialReference:r||SpatialReference.WGS84})}case"POLYGON":{const o=_parseWkt2DPointArray(t[3],t[2]);return new Polygon({rings:o,hasZ:e,hasM:n,spatialReference:r||SpatialReference.WGS84})}}}throw new ArgumentError("Cannot determine what type of esri geometry to create")}export function esriToGeoJSON(e){if(checkArg("geometry",e).isNotMissing(),isPoint(e)){const{x:r,y:t}=e;return{type:"Point",coordinates:[r,t]}}if(isMultipoint(e))return{type:"MultiPoint",coordinates:e.points};if(isPolyline(e))return e.paths.length>1?{type:"MultiLineString",coordinates:e.paths}:{type:"LineString",coordinates:e.paths[0]};if(isPolygon(e))return{type:"Polygon",coordinates:e.rings};if(isExtent(e)){const r=[e.xmin,e.ymax];return{type:"Polygon",coordinates:[[r,[e.xmax,e.ymax],[e.xmax,e.ymin],[e.xmin,e.ymin],r]]}}throw new ArgumentError("Cannot determine what type of WKT geometry to create")}export function geoJSONToEsri(e){switch(checkArg("geometry",e).isNotMissing(),checkArg("geometry.type",e.type).isNotMissing(),e.type){case"Point":return checkArg("geometry.coordinates",e.coordinates).satisfies(_isGeoJSONPoint),new Point({x:e.coordinates[0],y:e.coordinates[1],spatialReference:SpatialReference.WGS84});case"MultiPoint":return checkArg("geometry.coordinates",e.coordinates).satisfies(_isGeoJSONPointArray),new Multipoint({points:e.coordinates,spatialReference:SpatialReference.WGS84});case"LineString":return checkArg("geometry.coordinates",e.coordinates).satisfies(_isGeoJSONPointArray),new Polyline({paths:[e.coordinates],spatialReference:SpatialReference.WGS84});case"MultiLineString":return checkArg("geometry.coordinates",e.coordinates).satisfies(_isGeoJSON2DPointArray),new Polyline({paths:e.coordinates,spatialReference:SpatialReference.WGS84});case"Polygon":return checkArg("geometry.coordinates",e.coordinates).satisfies(_isGeoJSON2DPointArray),new Polygon({rings:e.coordinates,spatialReference:SpatialReference.WGS84});case"MultiPolygon":return checkArg("geometry.coordinates",e.coordinates).satisfies(_isGeoJSON2DPointArrayArray),new Polygon({rings:e.coordinates.flat(),spatialReference:SpatialReference.WGS84})}throw new ArgumentError("Cannot determine what type of esri geometry to create")}export function gmlToEsri(e){switch(checkArg("geometry",e).isNotMissing(),e.localName){case"Point":return _createEsriPoint(e);case"MultiPoint":return _createEsriMultiPoint(e);case"LineString":case"Curve":case"MultiLineString":case"MultiCurve":return _createEsriPolyline(e);case"Polygon":case"MultiPolygon":return _createEsriPolygon(e);default:throw new ArgumentError("Unrecognized geometry type.")}}export function esriToGml(e,r){switch(checkArg("geometry",e).isNotMissing(),checkArg("geometry type",e.type).isNotMissing(),checkArg("gmlVersion",r.gmlVersion).isNotMissing(),e.type){case"point":return _createGmlPointElement(e,r);case"polyline":return _createGmlLineStringElement(e,r);case"polygon":case"extent":return _createGmlPolygonElement(e,r);default:throw new ArgumentError(`Unrecognized geometry type: ${e.type}. Must be one of point, polyline or polygon.`)}}export async function esriWkidToWkt(e){checkArg("wkid",e).isNotMissing();let r=commonWktStrings[`${e}`];if(!r)for(const t of Object.keys(wktModules)){const n=wktModules[t];if(r=(await fetchEsriProjCodes(n))[e],r){const t=r.wkt.match(wktNameRegex);commonWktStrings[e]={name:t[2],wkt:r.wkt};break}}if(!r)throw new Error(`Failed to find Wkt for id ${e}`);return r.wkt}export async function esriWktToWkid(e){checkArg("wkt",e).isNotMissing();const r=e.match(wktNameRegex);if(r){let e=Object.keys(commonWktStrings).find((e=>commonWktStrings[e].name===r[2]));if(!e){const t=wktModules[r[1]];if(t){const n=await fetchEsriProjCodes(t);e=Object.keys(n).find((e=>n[e].name===r[2])),e&&(commonWktStrings[e]={name:r[2],wkt:n[e].wkt})}}if(e)return parseInt(e)}throw new Error(`Failed to find Wkid for ${e}`)}export function createCrossTypeUnion(e){const r=[],t=groupBy(e,(e=>e.type));for(const e of GEOM_ORDER){const n=t.get(e);let o;if(n?.length){o=n.length>1?union(n):n[0];for(const e of r)o=difference(o,e);o&&r.push(o)}}return r}const GEOM_ORDER=["mesh","extent","polygon","polyline","multipoint","point"];async function fetchEsriProjCodes(e){if(void 0===wktData[e])switch(e){case wktModules.GEOGCS:wktData[e]=(await import("esri-proj-codes/geographic.json")).default;break;case wktModules.PROJCS:wktData[e]=(await import("esri-proj-codes/projected.json")).default;break;case wktModules.GEOGTRAN:wktData[e]=(await import("esri-proj-codes/transformations.json")).default;break;case wktModules.VERTCS:wktData[e]=(await import("esri-proj-codes/vertical.json")).default;break;case wktModules.VERTTRAN:wktData[e]=(await import("esri-proj-codes/vertical-transformations.json")).default}const r=wktData[e];if(!r)throw new Error(`Invalid esri-proj-codes module: ${e}`);return r}export async function project(e,r,t){checkArg("geometries",e).isNotMissing().satisfies(_geometriesAreUniform,"All geometries must have the same type and spatial reference."),checkArg("outSpatialReference",r).isNotMissing();const n=Array.from(e);if(n.length<=0)return n;const o=_getInputSpatialReference(e),i=_getProjectOptions(o,r,t);if(void 0===i){if(o.equals(r))return n;if(canProject(o,r))return n.map((e=>webMercatorProject(e,r)));if(isLoaded()||await load(),null!==getTransformation(o,r)){const e=projectionEngineProject(n,r);return Array.isArray(e)?e:[e]}}if(i&&i.steps.length>1)throw new ArgumentError("GeographicTransformation","Geometry Service can't handle a two step transformation");return _projectWithGeometryService(n,r,i)}export async function buffer(e,r,t,n=!1){const o=Array.isArray(e),i=Array.isArray(r);if(o!==i)throw new ArgumentError("Geometries and distances must be the same type.");const s=Array.isArray(e)?e[0].spatialReference:e.spatialReference;if(s.isWebMercator||s.isWGS84)return esriGeodesicBuffer(e,r,t,n);if(s.isGeographic){const s=new BufferParameters({geometries:o?e:[e],distances:i?r:[r],unit:t,unionResults:n});return esriGeometryServiceBuffer(getGeometryServiceUrl(),s)}return esriBuffer(e,r,t,n)}export function removeZValues(e){const r=e;switch(r.type){case"point":r.z=void 0;break;case"polyline":case"polygon":_removeZCoords(r.paths||r.rings,r.hasM).forEach(((e,t)=>e.forEach(((e,n)=>r.setPoint(t,n,e)))));break;case"extent":r.zmax=void 0,r.zmin=void 0}return r}function _removeZCoords(e,r=!1){const t=r?3:2;return e.map((e=>e.map((e=>e.slice(0,t)))))}function _createWktPoint(e){return e.join(" ")}function _createWktPointArray(e){return e.map(_createWktPoint).join(", ")}function _createWkt2DPointArray(e){return e.map((e=>`(${_createWktPointArray(e)})`)).join(", ")}function _parseInvariant(e){return parse({locale:"inv"},e)}function _parseWktPoint(e,r){const t=r??"",n=e.match(wktPointRegex);if(n){const e=[_parseInvariant(n[1]),_parseInvariant(n[2])];return(t.includes("Z")||!t.includes("Z")&&t.includes("M"))&&n[3]&&e.push(_parseInvariant(n[3])),t.includes("M")&&n[4]&&e.push(_parseInvariant(n[4])),e}throw new ArgumentError(`Detected invalid WKT point: ${e}`)}function _parseWktPointArray(e,r){const t=e.match(wktArrayRegex);if(t)return _parseWktArray(t[1]).map((e=>_parseWktPoint(e,r)));throw new ArgumentError(`Detected invalid WKT point array: ${e}`)}function _parseWkt2DPointArray(e,r){const t=e.match(wktArrayRegex);if(t)return _parseWktArray(t[1]).map((e=>_parseWktPointArray(e,r)));throw new ArgumentError(`Detected invalid WKT 2D point array: ${e}`)}function _parseWktArray(e){let r=e.trim().replace(/\s*,\s*/g,","),t=0;for(let e=0;e<r.length;e++)switch(r.charAt(e)){case"(":t++;break;case")":t--;break;case",":0===t&&(r=`${r.substr(0,e)}&${r.substr(e+1)}`)}return r.split("&")}function _isGeoJSONPoint(e){return!!Array.isArray(e)&&!e.some((e=>"number"!=typeof e))}function _isGeoJSONPointArray(e){return!!Array.isArray(e)&&!e.some((e=>!_isGeoJSONPoint(e)))}function _isGeoJSON2DPointArray(e){return!!Array.isArray(e)&&!e.some((e=>!_isGeoJSONPointArray(e)))}function _isGeoJSON2DPointArrayArray(e){return!!Array.isArray(e)&&!e.some((e=>!_isGeoJSON2DPointArray(e)))}async function _projectWithGeometryService(e,r,t){const n=new ProjectParameters({geometries:e,outSpatialReference:r});t?.hasOwnProperty("transformation")&&(n.transformation=t.steps[0].wkid?{wkid:t.steps[0].wkid}:{wkt:t.steps[0].wkt},n.transformForward=!t.hasOwnProperty("transformForward")||!t.steps[0].isInverse);try{return await esriGeometryServiceProject(getGeometryServiceUrl(),n)}catch(e){throw e instanceof Error?new GeometryServiceError(e):e}}function _geometriesAreUniform(e){const r=[...e];if(!(r.length>0))return!0;const t=r[0].type,n=r[0].spatialReference;return r.every((e=>e.type===t&&e.spatialReference.equals(n)))}function _getInputSpatialReference(e){for(const r of e)if(null!==r?.spatialReference)return r.spatialReference;return SpatialReference.WebMercator}function _getProjectOptions(e,r,t){return t?.hasOwnProperty("steps")?{...t}:_getTransformProjectOptions(e,r)}function _getTransformProjectOptions(e,r){if(checkArg("inSr",e).isNotMissing(),checkArg("outSR",r).isNotMissing(),0===config.autoTransformations.length)return;const t=config.autoTransformations.filter((r=>r.inSpatialReference.equals(e))).filter((e=>e.outSpatialReference.equals(r)));if(t.length>0)return{...t[0].transformation};const n=config.autoTransformations.filter((e=>e.inSpatialReference.equals(r))).filter((r=>r.outSpatialReference.equals(e)));return n.length>0?{...n[0].transformation}:void 0}function _createEsriPoint(e){const r=_getEsriSpatialReference(e),t=_parseGmlCoordPair(e);if(t&&t.length>1)return new Point({x:t[0],y:t[1],spatialReference:r});throw new ArgumentError(gmlToEsriParseError)}function _createEsriMultiPoint(e){const r=new Array,t=_getEsriSpatialReference(e);if(e.childElementCount>0){const t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"pointMember")),n=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"pointMembers")),o=t.concat(...n);for(const e of o){const t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"Point"));for(const e of t)r.push(_parseGmlCoordPair(e))}}if(r&&r.length>0)return new Multipoint({points:r,spatialReference:t});throw new ArgumentError(gmlToEsriParseError)}function _createEsriPolyline(e){let r;const t=_getEsriSpatialReference(e);if("LineString"===e.localName?r=_parseGmlLineString(e):"Curve"===e.localName&&e.childElementCount>0?r=_parseGmlCurve(e):"MultiLineString"===e.localName&&e.childElementCount>0?r=_parseGmlMultiLineString(e):"MultiCurve"===e.localName&&e.childElementCount>0&&(r=_parseGmlMultiCurve(e)),r&&r.length>0)return new Polyline({paths:r,spatialReference:t});throw new ArgumentError(gmlToEsriParseError)}function _createEsriPolygon(e){let r;const t=_getEsriSpatialReference(e);if("Polygon"===e.localName?r=_parseGmlPolygon(e):"MultiPolygon"===e.localName&&(r=_parseGmlMultiPolygon(e)),r&&r.length>0)return new Polygon({rings:r,spatialReference:t});throw new ArgumentError(gmlToEsriParseError)}function _parseGmlLineString(e){return[_parseGmlCoords(e)]}function _parseGmlCurve(e){const r=new Array,t=e.getElementsByTagNameNS(e.namespaceURI,"segments");if(t.length>0){const n=Array.from(t[0].getElementsByTagNameNS(e.namespaceURI,"LineStringSegment"));for(const e of n){const t=_parseGmlCoords(e);r.push(t)}}return r}function _parseGmlMultiLineString(e){const r=new Array,t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"lineStringMember"));for(const e of t){const t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"LineString"));for(const e of t)r.push(_parseGmlCoords(e))}return r}function _parseGmlMultiCurve(e){const r=new Array,t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"curveMember")),n=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"curveMembers")),o=t.concat(...n);for(const e of o){const t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"LineString"));for(const e of t)r.push(_parseGmlCoords(e))}return r}function _parseGmlPolygon(e){checkArg("geometry",e).isNotMissing();const r=new Array,t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"outerBoundaryIs")),n=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"innerBoundaryIs")),o=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"exterior")),i=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"interior")),s=t.concat(...n).concat(...o).concat(...i);for(const e of s){const t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"LinearRing"));for(const e of t)r.push(_parseGmlCoords(e))}return r}function _parseGmlMultiPolygon(e){checkArg("geometry",e).isNotMissing();const r=new Array,t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"polygonMember"));for(const e of t){const t=Array.from(e.getElementsByTagNameNS(e.namespaceURI,"Polygon"));for(const e of t){const t=_parseGmlPolygon(e);r.push(...t)}}return r}function _parseGmlCoordPair(e){if(checkArg("geometry",e).isNotMissing(),"Point"!==e.localName)throw new ArgumentError(gmlToEsriParseError);const r=e.getElementsByTagNameNS(e.namespaceURI,"coordinates"),t=e.getElementsByTagNameNS(e.namespaceURI,"pos");if(r.length>0&&r[0].childNodes[0].nodeType===Node.TEXT_NODE){return _parseGmlCoordPairFromString(r[0].childNodes[0].data)}if(t.length>0&&t[0].childNodes[0].nodeType===Node.TEXT_NODE){return _parseGmlCoordPairFromString(t[0].childNodes[0].data)}throw new ArgumentError(gmlToEsriParseError)}function _parseGmlCoordPairFromString(e){const r=e.replace(/,/g,"").split(" ").map(Number);if(2===r.length)return[r[0],r[1]];throw new ArgumentError(gmlToEsriParseError)}function _parseGmlCoords(e){if(checkArg("geometry",e).isNotMissing(),"LineString"!==e.localName&&"LinearRing"!==e.localName&&"LineStringSegment"!==e.localName)throw new ArgumentError(gmlToEsriParseError);const r=e.getElementsByTagNameNS(e.namespaceURI,"coordinates"),t=e.getElementsByTagNameNS(e.namespaceURI,"posList");if(r.length>0&&r[0].childNodes[0].nodeType===Node.TEXT_NODE){return _parseCoordsFromString(r[0].childNodes[0].data)}if(t.length>0&&t[0].childNodes[0].nodeType===Node.TEXT_NODE){return _parseCoordsFromString(t[0].childNodes[0].data)}throw new ArgumentError(gmlToEsriParseError)}function _parseCoordsFromString(e){const r=e.replace(/,/g,"").split(" ").map(Number),t=new Array;for(let e=0;e<r.length;e+=2){if(void 0===r[e+1])throw new ArgumentError(gmlToEsriParseError);t.push([r[e],r[e+1]])}if(t.length>0)return t;throw new ArgumentError(gmlToEsriParseError)}function _getEsriSpatialReference(e){return checkArg("geometry",e).isNotMissing(),e.hasAttribute("srsName")?ogcSrsToEsriSr(e.getAttribute("srsName")):SpatialReference.WebMercator}function _createGmlPointElement(e,r){const t=getGmlNS(r.gmlVersion),n=_createElementWithNS(t,"Point","gml");let o,i;_applySrsAttributes(n,_getSrsName(e,r),r.hasOwnProperty("srsDimension")?r.srsDimension:void 0),"2.0"===r.gmlVersion||"3.0"===r.gmlVersion?(o=_createElementWithNS(t,"coordinates","gml"),i=_esriPointToString(", ",e)):(o=_createElementWithNS(t,"pos","gml"),i=_esriPointToString(" ",e)),n.appendChild(o);const s=_createTextNode(i);return o.appendChild(s),n}function _createGmlLineStringElement(e,r){const t=getGmlNS(r.gmlVersion),n=_createElementWithNS(t,"LineString","gml");let o,i;_applySrsAttributes(n,_getSrsName(e,r),r.hasOwnProperty("srsDimension")?r.srsDimension:void 0),"2.0"===r.gmlVersion||"3.0"===r.gmlVersion?(o=_createElementWithNS(t,"coordinates","gml"),i=_esriPolylineToString(", ",e)):(o=_createElementWithNS(t,"posList","gml"),i=_esriPolylineToString(" ",e)),n.appendChild(o);const s=_createTextNode(i);return o.appendChild(s),n}function _createGmlPolygonElement(e,r){const t=getGmlNS(r.gmlVersion),n=_createElementWithNS(t,"Polygon","gml");_applySrsAttributes(n,_getSrsName(e,r),r.hasOwnProperty("srsDimension")?r.srsDimension:void 0);const o="2.0"===r.gmlVersion?_createElementWithNS(t,"outerBoundaryIs","gml"):_createElementWithNS(t,"exterior","gml");n.appendChild(o);const i=_createElementWithNS(t,"LinearRing","gml");let s,a;o.appendChild(i),"2.0"===r.gmlVersion||"3.0"===r.gmlVersion?(s=_createElementWithNS(t,"coordinates","gml"),a=_esriPolygonToString(", ",e)):(s=_createElementWithNS(t,"posList","gml"),a=_esriPolygonToString(" ",e)),i.appendChild(s);const c=_createTextNode(a);return s.appendChild(c),n}function _getSrsName(e,r){if(r.hasOwnProperty("srsName"))return r.srsName;if(void 0!==e.spatialReference.wkid&&null!==e.spatialReference.wkid){if(e.spatialReference.wkid<32767)return`EPSG:${e.spatialReference.wkid}`;if(102100===e.spatialReference.wkid||900913===e.spatialReference.wkid||102113===e.spatialReference.wkid)return"EPSG:3857"}throw new ArgumentError("Unable to convert Esri WKT spatial reference to an OGC spatial reference")}function _applySrsAttributes(e,r,t){if(null!=r&&(e.setAttribute("srsName",r),null!=t)){const r=t<1?2:t;e.setAttribute("srsDimension",r.toString())}}function _createElementWithNS(e,r,t){checkArg("namespace",e).isNotMissing(),checkArg("name",r).isNotMissing();return document.implementation.createDocument(void 0,"temp",void 0).createElementNS(e,t?`${t}:${r}`:r)}function _createTextNode(e){return document.implementation.createDocument(void 0,"temp",void 0).createTextNode(e)}function _esriPointToString(e,r){const t=r;return" "===e?`${t.x} ${t.y}`:`${t.x}, ${t.y}`}function _esriPolylineToString(e,r){return r.paths[0].map((r=>r.join(e))).join(" ")}function _esriPolygonToString(e,r){let t;if(isPolygon(r))t=r.rings[0];else if(isExtent(r)){const{xmin:e,xmax:n,ymin:o,ymax:i}=r;t=[[e,i],[n,i],[n,o],[e,o],[e,i]]}return t.map((r=>r.join(e))).join(" ")}function getGeometryServiceUrl(){return config.geometryServiceUrl??config._geometryService?.url??DEFAULT_GEOMETRY_SERVICE_URL}export function isGeometry(e){return isPoint(e)||isMultipoint(e)||isPolyline(e)||isPolygon(e)||isExtent(e)||isMesh(e)}export function isPoint(e){return isEsriObject(e)&&"point"===e?.type}export function isMultipoint(e){return isEsriObject(e)&&"multipoint"===e?.type}export function isPolyline(e){return isEsriObject(e)&&"polyline"===e?.type}export function isPolygon(e){return isEsriObject(e)&&"polygon"===e?.type}export function isExtent(e){return isEsriObject(e)&&"extent"===e?.type}export function isMesh(e){return isEsriObject(e)&&"mesh"===e?.type}
@@ -1 +1 @@
1
- import Collection from"@arcgis/core/core/Collection";import SpatialReference from"@arcgis/core/geometry/SpatialReference";export function isMap(e){return"esri.Map"===(null==e?void 0:e.declaredClass)}export function isWebMap(e){return"esri.WebMap"===(null==e?void 0:e.declaredClass)}export function isWebScene(e){return"esri.WebScene"===(null==e?void 0:e.declaredClass)}export function isBasemap(e){return"esri.Basemap"===(null==e?void 0:e.declaredClass)}export function isGround(e){return"esri.Ground"===(null==e?void 0:e.declaredClass)}export function getMapSpatialReference(e){if((isWebScene(e)||isWebMap(e))&&e.initialViewProperties&&e.initialViewProperties.spatialReference)return e.initialViewProperties.spatialReference;let r=new Collection;e.basemap&&(r=r.concat(e.basemap.baseLayers)),r=r.concat(e.layers.flatten((e=>e.layers))),e.ground&&(r=r.concat(e.ground.layers));const i=r.find((e=>e.loaded));return i?"spatialReference"in i?i.spatialReference:SpatialReference.WebMercator:void 0}
1
+ import Collection from"@arcgis/core/core/Collection";import SpatialReference from"@arcgis/core/geometry/SpatialReference";export function isMap(e){return"esri.Map"===e?.declaredClass}export function isWebMap(e){return"esri.WebMap"===e?.declaredClass}export function isWebScene(e){return"esri.WebScene"===e?.declaredClass}export function isBasemap(e){return"esri.Basemap"===e?.declaredClass}export function isGround(e){return"esri.Ground"===e?.declaredClass}export function getMapSpatialReference(e){if((isWebScene(e)||isWebMap(e))&&e.initialViewProperties&&e.initialViewProperties.spatialReference)return e.initialViewProperties.spatialReference;let r=new Collection;e.basemap&&(r=r.concat(e.basemap.baseLayers)),r=r.concat(e.layers.flatten((e=>e.layers))),e.ground&&(r=r.concat(e.ground.layers));const a=r.find((e=>e.loaded));return a?"spatialReference"in a?a.spatialReference:SpatialReference.WebMercator:void 0}
@@ -1 +1 @@
1
- import{__decorate}from"tslib";import{getMatchingLocales,get}from"../locale.js";import{serializable,SerializableBase}from"../support/Serializable.js";import{settings as formatSettings}from"./FormatSettings.js";import{checkArg}from"./checkArg.js";export{isNumeric}from"./_number.js";const WHITESPACE_SEPARATORS=[" ",String.fromCharCode(160),String.fromCharCode(8239)],PERCENT_SIGN_REGEX=/[%٪%٪]/g,CURRENCY_REGEX=/₩|¥|元|レイ|₾|₽|₼|₺|₹|₸|₴|₲|₱|₮|₭|€|₫|₪|₩|₧|₦|₤IT|₡|‎CN¥‎|​PTE|​|៛|የቻይና ዩዋን|ብር|ლ|฿|සිෆ්එ|රු\.|ಲೀ|રૂ\.|৳|लेई|रू|नेरू|ل\.ل\.‏|ل\.س\.‏|ریال|ر\.ي\.‏|ر\.ق\.‏|ر\.ع\.‏|ر\.س\.‏|ر\.إ\.|د\.م\.‏|د\.ل\.‏|د\.ك\.‏|د\.ع\.‏|د\.س\.‏|د\.ج\.‏|د\.ت\.‏|د\.ب\.‏|د\.إ\.‏|د\.أ\.‏|ج\.م\.‏|ج\.س\.|أ\.م\.‏|؋|ל״י|֏|щ\.д\.|сом|руб\.|руб|р\.|лв\.|крб\.|кр|ден|ТМТ|КМ|Δρχ|öS|Íkr|¥CN|¥|£MT|£LB|£L|£IL|£IE|£GI|£GB|£FK|£E|£CY|£|zł|zl|soʻm|rb|r\.|p\.|mk|ley|leu|lej|lei|kr\.|kr|kn|din\.|den|Zł|ZWR|ZWL|ZWD|ZRZ|ZRN|ZMW|ZMK|ZK|ZAR|ZAL|YUR|YUN|YUM|YUD|YER|YDD|XXXX|XXX|XUA|XTS|XSU|XRE|XPT|XPF|XPD|XOF|XFU|XFO|XEU|XDR|XCD|XBD|XBC|XBB|XBA|XAU|XAG|XAF|WST|WS\$|VUV|VT|VNN|VND|VEF|VEB|UZS|UYU|UYP|UYI|UY\$|USh|USS|USN|USD|US\$|UM|UK£|UGX|UGS|UAK|UAH|Tk|TZS|TWD|TTD|TT\$|TSh|TRY|TRL|TPE|TOP|TND|TMT|TMM|TK|TJS|TJR|THB|T\$|S£|SZL|SYP|SVC|SUR|STN|STD|SSP|SRG|SRD|SR\$|SR|SOS|SLL|SKK|SIT|SI\$|SHP|SGD|SEK|SD£|SDP|SDG|SDD|SCR|SBD|SB\$|SAR|S\/|S\$|S|Rs\.|Rs|Rp|RWF|RUR|RUB|RSD|RON|ROL|RM|RHD|RF|RD\$|R\$|R|QAR|Q|PYG|PTE|PLZ|PLN|PKR|PHP|PGK|PES|PEN|PEI|PAB|P\.|P|OMR|Nkr|Nfk|NZD\$|NZD|NZ\$|NT\$|NPR|NOK|NLG|NKr|NIS|NIO|NIC|NGN|NAf\.|NAf|NAD|N\$|MZN|MZM|MZE|MYR|MXV|MXP|MXN|MX\$|MWK|MVR|MVP|MUR|MTn|MTP|MTL|MRO|MOP\$|MOP|MNT|MMK|MLF|MKN|MKD|MK|MGF|MGA|MDL|MDC|MCF|MAF|MAD|L£|Lt|Ls|Lekë|Le|LYD|LVR|LVL|LUL|LUF|LUC|LTT|LTL|LSL|LS|LRD|LKR|LE|LBP|LAK|L\$|L|Kčs|Kč|Kz|Kw|Ksh|Kr|Kn|KZT|KYD|KY\$|KWD|KRW|KRO|KRH|KPW|KMF|KM|KHR|KGS|KES|K|JP¥|JPY|JOD|JMD|JM\$|J\$|Ikr|ITL|ISK|ISJ|IRR|IQD|INR|ILS|ILR|ILP|IE£|IEP|IDR|HUF|HTG|HRK|HRD|HNL|HKD|HK\$|Gs\.|Gs|GYD|GY\$|GWP|GWE|GTQ|GRD|GQE|GNS|GNF|GMD|GIP|GH₵|GHS|GHC|GEL|GEK|GB£|GBP|G\$|G|Ft|Fl£|Fdj|FRF|FR|FK£|FKP|FJD|FJ\$|FIM|FG|FCFP|FCFA|FC|FBu|FB|F\.Rw|F\.G\.|F|E£|Esc\.|Ekr|EUR|ETB|ESP|ESB|ESA|ERN|EG£|EGP|EEK|ECV|ECU|ECS|EC\$|E|Dkr|Db|DZD|DT|DOP|DO\$|DM|DKK|DJF|DEM|DDM|DA|D|Cub\$|CZK|CYP|CVE|CUP|CUC\$|CUC|CU\$|CSK|CSD|CRC|COU|COP|CO\$|CN¥|CNY|CNX|CNH|CLP|CLF|CLE|CL\$|CI\$|CHW|CHF|CHE|CFPF|CFP|CFA|CF|CDF|CAD|CA\$|C\$|BsF|Bs\.|Bs|Br|Bds\$|BZD|BZ\$|BYR|BYN|BYB|BWP|BUK|BTN|BSD|BS\$|BRZ|BRR|BRN|BRL|BRE|BRC|BRB|BR\$|BOV|BOP|BOL|BOB|BND|BN\$|BMD|BM\$|BIF|BHD|BGO|BGN|BGM|BGL|BGK|BGJ|BEL|BEF|BEC|BDT|BD\$|BBD|BB\$|BAN|BAM|BAD|B\/\.|B\$|Ar|Afl\.|Afl|AZN|AZM|AWG|AUD\$|AUD|AU\$|ATS|ARS|ARP|ARM|ARL|ARA|AR\$|AOR|AON|AOK|AOA|ANG|AMD|ALL|ALK|AFN|AFA|AED|ADP|A\$|\*\*\*|\$ US|\$ SG|\$ NZ|\$ HK|\$ AU|\$b|\$UY|\$US|\$U|\$TT|\$SR|\$SG|\$SB|\$RH|\$NZ|\$NA|\$MX|\$MN|\$HK|\$FJ|\$EC|\$CO|\$CL|\$CA|\$C|\$BZ|\$BS|\$BN|\$BM|\$AU|\$AR|\$/g;export var NumberFormat;!function(t){t.NUMBER="n",t.FIXED_POINT="f",t.CURRENCY="c",t.ACCOUNTING="a",t.PERCENT="p",t.ROUND_TRIP="r",t.DEFAULT="f"}(NumberFormat||(NumberFormat={}));export function format(...t){return globalFormatter.format(...t)}export function parse(...t){return globalFormatter.parse(...t)}let NumberFormatter=class extends SerializableBase{get defaultFormat(){return this._defaultFormat}set defaultFormat(t){this._defaultFormat=t}get defaultParseFormat(){return this._defaultParseFormat}set defaultParseFormat(t){this._defaultParseFormat=t}get currency(){return this._currency}set currency(t){this._currency=t}get fractionalDigits(){return this._fractionalDigits}set fractionalDigits(t){this._fractionalDigits=t}format(...t){var r,e,a,i;let o,n;if(1===t.length?(o=t[0],n={}):arguments.length>=2&&(o=t[1],n="string"==typeof t[0]?{format:t[0]}:t[0],checkArg("options",n).isNotMissing()),null==o||isNaN(o))return"";let m=n.format||this.defaultFormat||NumberFormat.DEFAULT;if(m===NumberFormat.ROUND_TRIP)return o.toString();const s=m.toLowerCase();if(s===NumberFormat.CURRENCY||s===NumberFormat.ACCOUNTING){const t=n.currency||this.currency||"USD";m=s,m+=null!==(e=null!==(r=n.fractionalDigits)&&void 0!==r?r:this.fractionalDigits)&&void 0!==e?e:"",m+=t?`$${t}`:""}else s!==NumberFormat.NUMBER&&s!==NumberFormat.FIXED_POINT&&s!==NumberFormat.PERCENT||(m=s,m+=null!==(i=null!==(a=n.fractionalDigits)&&void 0!==a?a:this.fractionalDigits)&&void 0!==i?i:"");n.locale=n.locale||this.locale;const l=getMatchingLocales(n.locale||get()),u=`${l.join(";")}|${m}`;let N=numberFormatters.get(u);if(!N){N=[];const t=m.split(";",3);1===t.length?(N[0]=this._createNumberFormatter(l,t[0]),N[1]=N[0],N[2]=N[0]):2===t.length?(N[0]=this._createNumberFormatter(l,t[0]),N[1]=this._createNumberFormatter(l,t[1]),N[2]=N[0]):3===t.length&&(N[0]=this._createNumberFormatter(l,t[0]),N[1]=this._createNumberFormatter(l,t[1]),N[2]=this._createNumberFormatter(l,t[2])),numberFormatters.set(u,N)}return o>0?N[0](o):o<0?N[1](o):N[2](o)}parse(...t){var r;let e,a;if(1===t.length?(e=t[0],a={}):t.length>=2&&(e=t[1],a="string"==typeof t[0]||Array.isArray(t[0])?{format:t[0]}:t[0]),"number"==typeof e)return e;if("boolean"==typeof e)return e?1:0;if(null==e)return NaN;let i=e.toString().trim();a.locale=a.locale||this.locale;const o=getMatchingLocales(a.locale||get()),n=o.join(";");let m=numberParsers.get(n);m||(m=this._createNumberParser(o),numberParsers.set(n,m));let s,l=1;(null==i?void 0:i.startsWith("("))&&i.endsWith(")")&&(l=-1,i=i.slice(1,-1));let u=!1;const N="string"==typeof i&&!!i.match(PERCENT_SIGN_REGEX);N?s=i.replace(PERCENT_SIGN_REGEX,"").trim():(null===(r=a.format)||void 0===r?void 0:r.includes(NumberFormat.CURRENCY))&&(s=i.replace(CURRENCY_REGEX,"").replace(/\s/g,""),u=s!==i);let c=m(null!=s?s:i);if(isNaN(c)&&(c=parseFloat(null!=s?s:i)),isNaN(c))return c;if(N&&(c/=100),c*=l,u)return c;const F=a.format||this.defaultParseFormat,R=[].concat(F||[]),D=!R.length||R.some((t=>{if(t===NumberFormat.ROUND_TRIP)return c===parseFloat(c.toString());const r=this._createNumberFormatter(o,t,{minimumFractionDigits:0,maximumFractionDigits:20});if(i===r(c))return!0;const e=t.match(standardFormatPattern);if(e&&""===e[2])for(let r=0;r<=20;r++){const e=this._createNumberFormatter(o,t,{minimumFractionDigits:r,maximumFractionDigits:r});if(i===e(c))return!0}return!1}));return D?c:NaN}_getSerializableProperties(){return{defaultFormat:"initial",defaultParseFormat:"initial",fractionalDigits:"initial",currency:"initial",locale:"initial"}}_createNumberFormatter(t,r,e){const a=e||{};let i=r.match(standardFormatPattern);if(i){const r=i[1].toLowerCase(),e=Math.min(20,parseInt(i[2]));let o=i[3];r===NumberFormat.CURRENCY||r===NumberFormat.ACCOUNTING?o=(o||this.currency||"USD").toUpperCase():(o="",void 0===a.minimumFractionDigits&&(a.minimumFractionDigits=0),void 0===a.maximumFractionDigits&&(a.maximumFractionDigits=Math.max(4,a.minimumFractionDigits))),r===NumberFormat.PERCENT?a.style="percent":r===NumberFormat.ACCOUNTING?a.currencySign="accounting":r===NumberFormat.FIXED_POINT&&(a.useGrouping=!1),isNaN(e)||(a.minimumFractionDigits=e,a.maximumFractionDigits=e);const n=o?new Intl.NumberFormat(t,{style:"currency",currency:o,...a}):new Intl.NumberFormat(t,a);return t=>n.format(t)}i=r.match(/[0#]+|\.|,|%|\\.|(["'])[^\1]+\1|[^0#.,\\'"]+/g);let o=!1,n="",m="",s="",l="";a.minimumFractionDigits=0,a.maximumFractionDigits=0,a.useGrouping=!1;for(let t of i)switch(t[0]){case".":o=!0;break;case",":a.useGrouping=!0;break;case"%":a.style="percent";break;case"0":case"#":o?m+=t:n+=t;break;default:t.startsWith('"')||t.startsWith("'")?t=t.slice(1,-1):t.startsWith("\\")&&(t=t.slice(1)),n||m?l+=t:s+=t}if(n){const t=n.indexOf("0");t>=0&&(a.minimumIntegerDigits=n.length-t)}if(m){const t=m.lastIndexOf("0");a.minimumFractionDigits=t>=0?t+1:0,a.maximumFractionDigits=Math.min(20,m.length)}if(n||m){const r=new Intl.NumberFormat(t,a);return t=>`${s}${r.format(t)}${l}`}return()=>s+l}_createNumberParser(t){const r=new Intl.NumberFormat(t),e=r.formatToParts(12345.6),a=[...new Intl.NumberFormat(t,{useGrouping:!1}).format(9876543210)].reverse(),i=new Map(a.map(((t,r)=>[t,r]))),o=t=>i.get(t).toString();let n=e.find((t=>"group"===t.type)).value;WHITESPACE_SEPARATORS.some((t=>t===n))&&(n=`${WHITESPACE_SEPARATORS.join("|")}`);const m=new RegExp(`[${n}]`,"g"),s=new RegExp(`[${e.find((t=>"decimal"===t.type)).value}]`),l=new RegExp(`[${a.join("")}]`,"g"),u=r.format(-1/0),N=r.format(1/0);return t=>{if(t===N)return Number.POSITIVE_INFINITY;if(t===u)return Number.NEGATIVE_INFINITY;const r=t.trim().replace(m,"").replace(s,".").replace(l,o);return r?+r:NaN}}};NumberFormatter=__decorate([serializable],NumberFormatter);export{NumberFormatter};let GlobalFormatter=class extends NumberFormatter{get defaultFormat(){return formatSettings.numberFormat}set defaultFormat(t){formatSettings.numberFormat=t}get currency(){return formatSettings.currency}set currency(t){formatSettings.currency=t}get fractionalDigits(){return formatSettings.fractionalDigits}set fractionalDigits(t){formatSettings.fractionalDigits=t}};GlobalFormatter=__decorate([serializable],GlobalFormatter);const numberFormatters=new Map,numberParsers=new Map,standardFormatPattern=/^([acfnp])(\d*)(?:\$([a-zA-Z]{3}))?$/i,globalFormatter=new GlobalFormatter;export const settings=globalFormatter;
1
+ import{__decorate}from"tslib";import{getMatchingLocales,get}from"../locale.js";import{serializable,SerializableBase}from"../support/Serializable.js";import{settings as formatSettings}from"./FormatSettings.js";import{checkArg}from"./checkArg.js";export{isNumeric}from"./_number.js";const WHITESPACE_SEPARATORS=[" ",String.fromCharCode(160),String.fromCharCode(8239)],PERCENT_SIGN_REGEX=/[%٪%٪]/g,CURRENCY_REGEX=/₩|¥|元|レイ|₾|₽|₼|₺|₹|₸|₴|₲|₱|₮|₭|€|₫|₪|₩|₧|₦|₤IT|₡|‎CN¥‎|​PTE|​|៛|የቻይና ዩዋን|ብር|ლ|฿|සිෆ්එ|රු\.|ಲೀ|રૂ\.|৳|लेई|रू|नेरू|ل\.ل\.‏|ل\.س\.‏|ریال|ر\.ي\.‏|ر\.ق\.‏|ر\.ع\.‏|ر\.س\.‏|ر\.إ\.|د\.م\.‏|د\.ل\.‏|د\.ك\.‏|د\.ع\.‏|د\.س\.‏|د\.ج\.‏|د\.ت\.‏|د\.ب\.‏|د\.إ\.‏|د\.أ\.‏|ج\.م\.‏|ج\.س\.|أ\.م\.‏|؋|ל״י|֏|щ\.д\.|сом|руб\.|руб|р\.|лв\.|крб\.|кр|ден|ТМТ|КМ|Δρχ|öS|Íkr|¥CN|¥|£MT|£LB|£L|£IL|£IE|£GI|£GB|£FK|£E|£CY|£|zł|zl|soʻm|rb|r\.|p\.|mk|ley|leu|lej|lei|kr\.|kr|kn|din\.|den|Zł|ZWR|ZWL|ZWD|ZRZ|ZRN|ZMW|ZMK|ZK|ZAR|ZAL|YUR|YUN|YUM|YUD|YER|YDD|XXXX|XXX|XUA|XTS|XSU|XRE|XPT|XPF|XPD|XOF|XFU|XFO|XEU|XDR|XCD|XBD|XBC|XBB|XBA|XAU|XAG|XAF|WST|WS\$|VUV|VT|VNN|VND|VEF|VEB|UZS|UYU|UYP|UYI|UY\$|USh|USS|USN|USD|US\$|UM|UK£|UGX|UGS|UAK|UAH|Tk|TZS|TWD|TTD|TT\$|TSh|TRY|TRL|TPE|TOP|TND|TMT|TMM|TK|TJS|TJR|THB|T\$|S£|SZL|SYP|SVC|SUR|STN|STD|SSP|SRG|SRD|SR\$|SR|SOS|SLL|SKK|SIT|SI\$|SHP|SGD|SEK|SD£|SDP|SDG|SDD|SCR|SBD|SB\$|SAR|S\/|S\$|S|Rs\.|Rs|Rp|RWF|RUR|RUB|RSD|RON|ROL|RM|RHD|RF|RD\$|R\$|R|QAR|Q|PYG|PTE|PLZ|PLN|PKR|PHP|PGK|PES|PEN|PEI|PAB|P\.|P|OMR|Nkr|Nfk|NZD\$|NZD|NZ\$|NT\$|NPR|NOK|NLG|NKr|NIS|NIO|NIC|NGN|NAf\.|NAf|NAD|N\$|MZN|MZM|MZE|MYR|MXV|MXP|MXN|MX\$|MWK|MVR|MVP|MUR|MTn|MTP|MTL|MRO|MOP\$|MOP|MNT|MMK|MLF|MKN|MKD|MK|MGF|MGA|MDL|MDC|MCF|MAF|MAD|L£|Lt|Ls|Lekë|Le|LYD|LVR|LVL|LUL|LUF|LUC|LTT|LTL|LSL|LS|LRD|LKR|LE|LBP|LAK|L\$|L|Kčs|Kč|Kz|Kw|Ksh|Kr|Kn|KZT|KYD|KY\$|KWD|KRW|KRO|KRH|KPW|KMF|KM|KHR|KGS|KES|K|JP¥|JPY|JOD|JMD|JM\$|J\$|Ikr|ITL|ISK|ISJ|IRR|IQD|INR|ILS|ILR|ILP|IE£|IEP|IDR|HUF|HTG|HRK|HRD|HNL|HKD|HK\$|Gs\.|Gs|GYD|GY\$|GWP|GWE|GTQ|GRD|GQE|GNS|GNF|GMD|GIP|GH₵|GHS|GHC|GEL|GEK|GB£|GBP|G\$|G|Ft|Fl£|Fdj|FRF|FR|FK£|FKP|FJD|FJ\$|FIM|FG|FCFP|FCFA|FC|FBu|FB|F\.Rw|F\.G\.|F|E£|Esc\.|Ekr|EUR|ETB|ESP|ESB|ESA|ERN|EG£|EGP|EEK|ECV|ECU|ECS|EC\$|E|Dkr|Db|DZD|DT|DOP|DO\$|DM|DKK|DJF|DEM|DDM|DA|D|Cub\$|CZK|CYP|CVE|CUP|CUC\$|CUC|CU\$|CSK|CSD|CRC|COU|COP|CO\$|CN¥|CNY|CNX|CNH|CLP|CLF|CLE|CL\$|CI\$|CHW|CHF|CHE|CFPF|CFP|CFA|CF|CDF|CAD|CA\$|C\$|BsF|Bs\.|Bs|Br|Bds\$|BZD|BZ\$|BYR|BYN|BYB|BWP|BUK|BTN|BSD|BS\$|BRZ|BRR|BRN|BRL|BRE|BRC|BRB|BR\$|BOV|BOP|BOL|BOB|BND|BN\$|BMD|BM\$|BIF|BHD|BGO|BGN|BGM|BGL|BGK|BGJ|BEL|BEF|BEC|BDT|BD\$|BBD|BB\$|BAN|BAM|BAD|B\/\.|B\$|Ar|Afl\.|Afl|AZN|AZM|AWG|AUD\$|AUD|AU\$|ATS|ARS|ARP|ARM|ARL|ARA|AR\$|AOR|AON|AOK|AOA|ANG|AMD|ALL|ALK|AFN|AFA|AED|ADP|A\$|\*\*\*|\$ US|\$ SG|\$ NZ|\$ HK|\$ AU|\$b|\$UY|\$US|\$U|\$TT|\$SR|\$SG|\$SB|\$RH|\$NZ|\$NA|\$MX|\$MN|\$HK|\$FJ|\$EC|\$CO|\$CL|\$CA|\$C|\$BZ|\$BS|\$BN|\$BM|\$AU|\$AR|\$/g;export var NumberFormat;!function(t){t.NUMBER="n",t.FIXED_POINT="f",t.CURRENCY="c",t.ACCOUNTING="a",t.PERCENT="p",t.ROUND_TRIP="r",t.DEFAULT="f"}(NumberFormat||(NumberFormat={}));export function format(...t){return globalFormatter.format(...t)}export function parse(...t){return globalFormatter.parse(...t)}let NumberFormatter=class extends SerializableBase{get defaultFormat(){return this._defaultFormat}set defaultFormat(t){this._defaultFormat=t}get defaultParseFormat(){return this._defaultParseFormat}set defaultParseFormat(t){this._defaultParseFormat=t}get currency(){return this._currency}set currency(t){this._currency=t}get fractionalDigits(){return this._fractionalDigits}set fractionalDigits(t){this._fractionalDigits=t}format(...t){let r,e;if(1===t.length?(r=t[0],e={}):arguments.length>=2&&(r=t[1],e="string"==typeof t[0]?{format:t[0]}:t[0],checkArg("options",e).isNotMissing()),null==r||isNaN(r))return"";let a=e.format||this.defaultFormat||NumberFormat.DEFAULT;if(a===NumberFormat.ROUND_TRIP)return r.toString();const i=a.toLowerCase();if(i===NumberFormat.CURRENCY||i===NumberFormat.ACCOUNTING){const t=e.currency||this.currency||"USD";a=i,a+=e.fractionalDigits??this.fractionalDigits??"",a+=t?`$${t}`:""}else i!==NumberFormat.NUMBER&&i!==NumberFormat.FIXED_POINT&&i!==NumberFormat.PERCENT||(a=i,a+=e.fractionalDigits??this.fractionalDigits??"");e.locale=e.locale||this.locale;const o=getMatchingLocales(e.locale||get()),n=`${o.join(";")}|${a}`;let m=numberFormatters.get(n);if(!m){m=[];const t=a.split(";",3);1===t.length?(m[0]=this._createNumberFormatter(o,t[0]),m[1]=m[0],m[2]=m[0]):2===t.length?(m[0]=this._createNumberFormatter(o,t[0]),m[1]=this._createNumberFormatter(o,t[1]),m[2]=m[0]):3===t.length&&(m[0]=this._createNumberFormatter(o,t[0]),m[1]=this._createNumberFormatter(o,t[1]),m[2]=this._createNumberFormatter(o,t[2])),numberFormatters.set(n,m)}return r>0?m[0](r):r<0?m[1](r):m[2](r)}parse(...t){let r,e;if(1===t.length?(r=t[0],e={}):t.length>=2&&(r=t[1],e="string"==typeof t[0]||Array.isArray(t[0])?{format:t[0]}:t[0]),"number"==typeof r)return r;if("boolean"==typeof r)return r?1:0;if(null==r)return NaN;let a=r.toString().trim();e.locale=e.locale||this.locale;const i=getMatchingLocales(e.locale||get()),o=i.join(";");let n=numberParsers.get(o);n||(n=this._createNumberParser(i),numberParsers.set(o,n));let m,s=1;a?.startsWith("(")&&a.endsWith(")")&&(s=-1,a=a.slice(1,-1));let l=!1;const N="string"==typeof a&&!!a.match(PERCENT_SIGN_REGEX);N?m=a.replace(PERCENT_SIGN_REGEX,"").trim():e.format?.includes(NumberFormat.CURRENCY)&&(m=a.replace(CURRENCY_REGEX,"").replace(/\s/g,""),l=m!==a);let c=n(m??a);if(isNaN(c)&&(c=parseFloat(m??a)),isNaN(c))return c;if(N&&(c/=100),c*=s,l)return c;const u=e.format||this.defaultParseFormat,F=[].concat(u||[]),R=!F.length||F.some((t=>{if(t===NumberFormat.ROUND_TRIP)return c===parseFloat(c.toString());const r=this._createNumberFormatter(i,t,{minimumFractionDigits:0,maximumFractionDigits:20});if(a===r(c))return!0;const e=t.match(standardFormatPattern);if(e&&""===e[2])for(let r=0;r<=20;r++){const e=this._createNumberFormatter(i,t,{minimumFractionDigits:r,maximumFractionDigits:r});if(a===e(c))return!0}return!1}));return R?c:NaN}_getSerializableProperties(){return{defaultFormat:"initial",defaultParseFormat:"initial",fractionalDigits:"initial",currency:"initial",locale:"initial"}}_createNumberFormatter(t,r,e){const a=e||{};let i=r.match(standardFormatPattern);if(i){const r=i[1].toLowerCase(),e=Math.min(20,parseInt(i[2]));let o=i[3];r===NumberFormat.CURRENCY||r===NumberFormat.ACCOUNTING?o=(o||this.currency||"USD").toUpperCase():(o="",void 0===a.minimumFractionDigits&&(a.minimumFractionDigits=0),void 0===a.maximumFractionDigits&&(a.maximumFractionDigits=Math.max(4,a.minimumFractionDigits))),r===NumberFormat.PERCENT?a.style="percent":r===NumberFormat.ACCOUNTING?a.currencySign="accounting":r===NumberFormat.FIXED_POINT&&(a.useGrouping=!1),isNaN(e)||(a.minimumFractionDigits=e,a.maximumFractionDigits=e);const n=o?new Intl.NumberFormat(t,{style:"currency",currency:o,...a}):new Intl.NumberFormat(t,a);return t=>n.format(t)}i=r.match(/[0#]+|\.|,|%|\\.|(["'])[^\1]+\1|[^0#.,\\'"]+/g);let o=!1,n="",m="",s="",l="";a.minimumFractionDigits=0,a.maximumFractionDigits=0,a.useGrouping=!1;for(let t of i)switch(t[0]){case".":o=!0;break;case",":a.useGrouping=!0;break;case"%":a.style="percent";break;case"0":case"#":o?m+=t:n+=t;break;default:t.startsWith('"')||t.startsWith("'")?t=t.slice(1,-1):t.startsWith("\\")&&(t=t.slice(1)),n||m?l+=t:s+=t}if(n){const t=n.indexOf("0");t>=0&&(a.minimumIntegerDigits=n.length-t)}if(m){const t=m.lastIndexOf("0");a.minimumFractionDigits=t>=0?t+1:0,a.maximumFractionDigits=Math.min(20,m.length)}if(n||m){const r=new Intl.NumberFormat(t,a);return t=>`${s}${r.format(t)}${l}`}return()=>s+l}_createNumberParser(t){const r=new Intl.NumberFormat(t),e=r.formatToParts(12345.6),a=[...new Intl.NumberFormat(t,{useGrouping:!1}).format(9876543210)].reverse(),i=new Map(a.map(((t,r)=>[t,r]))),o=t=>i.get(t).toString();let n=e.find((t=>"group"===t.type)).value;WHITESPACE_SEPARATORS.some((t=>t===n))&&(n=`${WHITESPACE_SEPARATORS.join("|")}`);const m=new RegExp(`[${n}]`,"g"),s=new RegExp(`[${e.find((t=>"decimal"===t.type)).value}]`),l=new RegExp(`[${a.join("")}]`,"g"),N=r.format(-1/0),c=r.format(1/0);return t=>{if(t===c)return Number.POSITIVE_INFINITY;if(t===N)return Number.NEGATIVE_INFINITY;const r=t.trim().replace(m,"").replace(s,".").replace(l,o);return r?+r:NaN}}};NumberFormatter=__decorate([serializable],NumberFormatter);export{NumberFormatter};let GlobalFormatter=class extends NumberFormatter{get defaultFormat(){return formatSettings.numberFormat}set defaultFormat(t){formatSettings.numberFormat=t}get currency(){return formatSettings.currency}set currency(t){formatSettings.currency=t}get fractionalDigits(){return formatSettings.fractionalDigits}set fractionalDigits(t){formatSettings.fractionalDigits=t}};GlobalFormatter=__decorate([serializable],GlobalFormatter);const numberFormatters=new Map,numberParsers=new Map,standardFormatPattern=/^([acfnp])(\d*)(?:\$([a-zA-Z]{3}))?$/i,globalFormatter=new GlobalFormatter;export const settings=globalFormatter;
@@ -1 +1 @@
1
- import Portal from"@arcgis/core/portal/Portal";import PortalItem from"@arcgis/core/portal/PortalItem";import{ArgumentError}from"../ArgumentError.js";import{isPortalUri,PortalUri}from"../PortalUri.js";import{config}from"../config.js";import{Item as PortalItemJson}from"../portal/Item.js";import{isPortalItem}from"./esri.js";import{Uri}from"./uri.js";import{generateUuid}from"./uuid.js";export function isPortalItemId(t){return/^[a-fA-F0-9]{32}$/.test(t)}export function getPortalItemHtmlUrl(t){const r=toPortalItem(t);if(r.portal&&r.portal.url&&r.id){const t=new Uri("home/item.html");return t.queryValues.set("id",r.id),t.toAbsoluteUri(`${r.portal.url}/`).toString()}}export function isPortalItemUrl(t){var r;return"string"==typeof t?isPortalUri(t)||isPortalItemUrl(new Uri(t)):!!t&&(ITEM_REST_ENDPOINT_PATTERN.test(t.path)||!!(null===(r=t.path)||void 0===r?void 0:r.endsWith("/home/item.html"))&&isPortalItemId(t.queryValues.get("id")))}export function isPortalItemLike(t){if(isPortalItem(t)||t instanceof PortalUri)return!0;if(t instanceof Uri){const r=t.toString();return isPortalItemUrl(r)||isPortalUri(r)}return"string"==typeof t?isPortalItemId(t)||isPortalUri(t)||isPortalItemUrl(t):t&&isPortalItemId(t.id)}export function toPortalItem(t){if(t){if(t instanceof PortalItem)return t;if(t instanceof PortalUri)return t.toPortalItem();if(t instanceof Uri)return portalItemUrlToPortalItem(t);if("string"==typeof t){if(isPortalItemId(t))return new PortalItem({id:t});if(isPortalUri(t))return new PortalUri(t).toPortalItem();if(isPortalItemUrl(t))return portalItemUrlToPortalItem(new Uri(t));throw new ArgumentError("input",`Unable to convert "${t}" to a Portal item. Make sure it is a valid Portal item ID or URL.`)}if("object"==typeof t)return PortalItemJson.toEsriApiPortalItem(t);throw new ArgumentError("toPortalItem(): invalid input type.")}}export function serializePortalItem(t){if(isPortalItem(t)){if(t.itemUrl)return convertOrgUrl(t.itemUrl);if(t.portal){const r=new Uri("/sharing/rest/content/items/");return r.queryValues.set("id",t.id),convertOrgUrl(r.toAbsoluteUri(t.portal.url))}return t.id}return t instanceof PortalUri?t.toString():t instanceof Uri||"string"==typeof t?convertOrgUrl(t):t}function convertOrgUrl(t){const r="string"==typeof t?new Uri(t):t;return r.host.toLowerCase().endsWith(".maps.arcgis.com")&&(r.host="www.arcgis.com"),r.toString()}const ITEM_REST_ENDPOINT_PATTERN=/\/sharing\/rest\/content\/items\/([a-fA-F0-9]{32}).*/,ITEM_HTML_ENDPOINT_PATTERN=/\/home\/item\.html$/;function portalItemUrlToPortalItem(t){var r;const o=new Uri;let e;const i=t.path.match(ITEM_REST_ENDPOINT_PATTERN);if(i)o.path=t.path.replace(ITEM_REST_ENDPOINT_PATTERN,""),e=i[1];else{if(!(null===(r=t.path)||void 0===r?void 0:r.endsWith("/home/item.html"))||!isPortalItemId(t.queryValues.get("id")))throw new ArgumentError("itemUrl",`Invalid Portal item URL "${t.toString()}".`);o.path=t.path.replace(ITEM_HTML_ENDPOINT_PATTERN,""),e=t.queryValues.get("id")}o.scheme=t.scheme,o.host=t.host,o.port=t.port;const l=o.toString(),n=new PortalItem({id:e});if(l===Portal.getDefault().url)n.portal=Portal.getDefault();else{let t=[...config.portals.values()].find((t=>t.url===l));t||(t=new Portal({id:generateUuid(),url:l}),config.portals.set(t.id,t)),n.portal=t}return n}
1
+ import Portal from"@arcgis/core/portal/Portal";import PortalItem from"@arcgis/core/portal/PortalItem";import{ArgumentError}from"../ArgumentError.js";import{isPortalUri,PortalUri}from"../PortalUri.js";import{config}from"../config.js";import{Item as PortalItemJson}from"../portal/Item.js";import{isPortalItem}from"./esri.js";import{Uri}from"./uri.js";import{generateUuid}from"./uuid.js";export function isPortalItemId(t){return/^[a-fA-F0-9]{32}$/.test(t)}export function getPortalItemHtmlUrl(t){const r=toPortalItem(t);if(r.portal&&r.portal.url&&r.id){const t=new Uri("home/item.html");return t.queryValues.set("id",r.id),t.toAbsoluteUri(`${r.portal.url}/`).toString()}}export function isPortalItemUrl(t){return"string"==typeof t?isPortalUri(t)||isPortalItemUrl(new Uri(t)):!!t&&(ITEM_REST_ENDPOINT_PATTERN.test(t.path)||!!t.path?.endsWith("/home/item.html")&&isPortalItemId(t.queryValues.get("id")))}export function isPortalItemLike(t){if(isPortalItem(t)||t instanceof PortalUri)return!0;if(t instanceof Uri){const r=t.toString();return isPortalItemUrl(r)||isPortalUri(r)}return"string"==typeof t?isPortalItemId(t)||isPortalUri(t)||isPortalItemUrl(t):t&&isPortalItemId(t.id)}export function toPortalItem(t){if(t){if(t instanceof PortalItem)return t;if(t instanceof PortalUri)return t.toPortalItem();if(t instanceof Uri)return portalItemUrlToPortalItem(t);if("string"==typeof t){if(isPortalItemId(t))return new PortalItem({id:t});if(isPortalUri(t))return new PortalUri(t).toPortalItem();if(isPortalItemUrl(t))return portalItemUrlToPortalItem(new Uri(t));throw new ArgumentError("input",`Unable to convert "${t}" to a Portal item. Make sure it is a valid Portal item ID or URL.`)}if("object"==typeof t)return PortalItemJson.toEsriApiPortalItem(t);throw new ArgumentError("toPortalItem(): invalid input type.")}}export function serializePortalItem(t){if(isPortalItem(t)){if(t.itemUrl)return convertOrgUrl(t.itemUrl);if(t.portal){const r=new Uri("/sharing/rest/content/items/");return r.queryValues.set("id",t.id),convertOrgUrl(r.toAbsoluteUri(t.portal.url))}return t.id}return t instanceof PortalUri?t.toString():t instanceof Uri||"string"==typeof t?convertOrgUrl(t):t}function convertOrgUrl(t){const r="string"==typeof t?new Uri(t):t;return r.host.toLowerCase().endsWith(".maps.arcgis.com")&&(r.host="www.arcgis.com"),r.toString()}const ITEM_REST_ENDPOINT_PATTERN=/\/sharing\/rest\/content\/items\/([a-fA-F0-9]{32}).*/,ITEM_HTML_ENDPOINT_PATTERN=/\/home\/item\.html$/;function portalItemUrlToPortalItem(t){const r=new Uri;let e;const o=t.path.match(ITEM_REST_ENDPOINT_PATTERN);if(o)r.path=t.path.replace(ITEM_REST_ENDPOINT_PATTERN,""),e=o[1];else{if(!t.path?.endsWith("/home/item.html")||!isPortalItemId(t.queryValues.get("id")))throw new ArgumentError("itemUrl",`Invalid Portal item URL "${t.toString()}".`);r.path=t.path.replace(ITEM_HTML_ENDPOINT_PATTERN,""),e=t.queryValues.get("id")}r.scheme=t.scheme,r.host=t.host,r.port=t.port;const i=r.toString(),l=new PortalItem({id:e});if(i===Portal.getDefault().url)l.portal=Portal.getDefault();else{let t=[...config.portals.values()].find((t=>t.url===i));t||(t=new Portal({id:generateUuid(),url:i}),config.portals.set(t.id,t)),l.portal=t}return l}
@@ -1 +1 @@
1
- import{intersects}from"@arcgis/core/geometry/geometryEngine";import{Feature}from"../data/Feature.js";import{project}from"../utilities/geometry.js";import{isGraphic}from"./esri.js";const ALASQL_ID="alasql-id",DEFAULT_OPTIONS={outFields:["*"],returnGeometry:!0};export async function query(t,e,r,a){if(!(null==r?void 0:r.length))return[];const{spatialFilter:i,returnGeometry:o,outFields:n}={...DEFAULT_OPTIONS,...a},s=i?await spatialFilter(r,i):r,u=!isGraphic(s[0]);if(t){const r=new Map,a=s.map(((t,e)=>{r.set(e,t);let a={};return u?Array.from(t.attributes.entries()).forEach((([t,e])=>{a[t]=e})):a={...t.attributes},a[ALASQL_ID]=e,a}));return(0,(await import("alasql")).default)(`SELECT * FROM ? WHERE ${t}`,[a]).map((t=>u?r.get(t[ALASQL_ID]):toFeature(t,r.get(t[ALASQL_ID]),e,o,n)))}return u?s:s.map((t=>toFeature(t.attributes,t,e,a.returnGeometry,a.outFields)))}export async function count(t,e,r){if(!(null==e?void 0:e.length))return 0;const{spatialFilter:a}=null!=r?r:{},i=a?await spatialFilter(e,a):e,o=!isGraphic(i[0]);if(t){const e=i.map(((t,e)=>{let r={};return o?Array.from(t.attributes.entries()).forEach((([t,e])=>r[t]=e)):r={...t.attributes},r[ALASQL_ID]=e,r}));return(0,(await import("alasql")).default)(`SELECT * FROM ? WHERE ${t}`,[e]).length}return i.length}export async function spatialFilter(t,e){if(!(null==t?void 0:t.length))return[];const r=t[0].geometry.spatialReference;let a=e.clone();return r&&!r.equals(a.spatialReference)&&(a=(await project([a],r))[0]),t.filter((t=>!!t.geometry&&intersects(a,t.geometry)))}function toFeature(t,e,r,a,i){const o=new Feature({source:r});for(const e of Object.keys(t))e!==ALASQL_ID&&(i.includes("*")||i.includes(e))&&o.attributes.set(e,t[e]);return a&&(o.geometry=e.geometry),e.popupTemplate&&(o.settings.popupTemplate=e.popupTemplate),o}
1
+ import{intersects}from"@arcgis/core/geometry/geometryEngine";import{Feature}from"../data/Feature.js";import{project}from"../utilities/geometry.js";import{isGraphic}from"./esri.js";const ALASQL_ID="alasql-id",DEFAULT_OPTIONS={outFields:["*"],returnGeometry:!0};export async function query(t,e,r,a){if(!r?.length)return[];const{spatialFilter:i,returnGeometry:o,outFields:s}={...DEFAULT_OPTIONS,...a},n=i?await spatialFilter(r,i):r,u=!isGraphic(n[0]);if(t){const r=new Map,a=n.map(((t,e)=>{r.set(e,t);let a={};return u?Array.from(t.attributes.entries()).forEach((([t,e])=>{a[t]=e})):a={...t.attributes},a[ALASQL_ID]=e,a}));return(0,(await import("alasql")).default)(`SELECT * FROM ? WHERE ${t}`,[a]).map((t=>u?r.get(t[ALASQL_ID]):toFeature(t,r.get(t[ALASQL_ID]),e,o,s)))}return u?n:n.map((t=>toFeature(t.attributes,t,e,a.returnGeometry,a.outFields)))}export async function count(t,e,r){if(!e?.length)return 0;const{spatialFilter:a}=r??{},i=a?await spatialFilter(e,a):e,o=!isGraphic(i[0]);if(t){const e=i.map(((t,e)=>{let r={};return o?Array.from(t.attributes.entries()).forEach((([t,e])=>r[t]=e)):r={...t.attributes},r[ALASQL_ID]=e,r}));return(0,(await import("alasql")).default)(`SELECT * FROM ? WHERE ${t}`,[e]).length}return i.length}export async function spatialFilter(t,e){if(!t?.length)return[];const r=t[0].geometry.spatialReference;let a=e.clone();return r&&!r.equals(a.spatialReference)&&(a=(await project([a],r))[0]),t.filter((t=>!!t.geometry&&intersects(a,t.geometry)))}function toFeature(t,e,r,a,i){const o=new Feature({source:r});for(const e of Object.keys(t))e!==ALASQL_ID&&(i.includes("*")||i.includes(e))&&o.attributes.set(e,t[e]);return a&&(o.geometry=e.geometry),e.popupTemplate&&(o.settings.popupTemplate=e.popupTemplate),o}
@@ -1 +1 @@
1
- export function isSimpleRenderer(e){return"simple"===(null==e?void 0:e.type)}export function isClassBreaksRenderer(e){return"class-breaks"===(null==e?void 0:e.type)}export function isDictionaryRenderer(e){return"dictionary"===(null==e?void 0:e.type)}export function isDotDensityRenderer(e){return"dot-density"===(null==e?void 0:e.type)}export function isHeatMapRenderer(e){return"heatmap"===(null==e?void 0:e.type)}export function isUniqueValueRenderer(e){return"unique-value"===(null==e?void 0:e.type)}
1
+ export function isSimpleRenderer(e){return"simple"===e?.type}export function isClassBreaksRenderer(e){return"class-breaks"===e?.type}export function isDictionaryRenderer(e){return"dictionary"===e?.type}export function isDotDensityRenderer(e){return"dot-density"===e?.type}export function isHeatMapRenderer(e){return"heatmap"===e?.type}export function isUniqueValueRenderer(e){return"unique-value"===e?.type}
@@ -1 +1 @@
1
- export const expandExtentToScale=(e,l,s)=>{const c=e.width/l*s/e.width;return e.clone().expand(c)};export const getNextScale=(e,l=1)=>{let s=l;for(const l of wellKnownScaleRanges)if(l.scale>e&&0==--s)return l.scale};export const getScaleRange=e=>{var l;return null===(l=wellKnownScaleRanges.find((l=>l.id===e)))||void 0===l?void 0:l.scale};export const wellKnownScaleRanges=[{id:"room",scale:100},{id:"rooms",scale:400},{id:"smallBuilding",scale:800},{id:"building",scale:1999},{id:"buildings",scale:3999},{id:"street",scale:7499},{id:"streets",scale:14999},{id:"neighborhood",scale:29999},{id:"town",scale:59999},{id:"city",scale:119999},{id:"cities",scale:249999},{id:"metropolitanArea",scale:499999},{id:"county",scale:999999},{id:"counties",scale:1999999},{id:"stateProvince",scale:3999999},{id:"statesProvinces",scale:6999999},{id:"countriesSmall",scale:14999999},{id:"countriesBig",scale:34999999},{id:"continent",scale:99999999},{id:"world",scale:147914382}];
1
+ export const expandExtentToScale=(e,l,s)=>{const c=e.width/l*s/e.width;return e.clone().expand(c)};export const getNextScale=(e,l=1)=>{let s=l;for(const l of wellKnownScaleRanges)if(l.scale>e&&0==--s)return l.scale};export const getScaleRange=e=>wellKnownScaleRanges.find((l=>l.id===e))?.scale;export const wellKnownScaleRanges=[{id:"room",scale:100},{id:"rooms",scale:400},{id:"smallBuilding",scale:800},{id:"building",scale:1999},{id:"buildings",scale:3999},{id:"street",scale:7499},{id:"streets",scale:14999},{id:"neighborhood",scale:29999},{id:"town",scale:59999},{id:"city",scale:119999},{id:"cities",scale:249999},{id:"metropolitanArea",scale:499999},{id:"county",scale:999999},{id:"counties",scale:1999999},{id:"stateProvince",scale:3999999},{id:"statesProvinces",scale:6999999},{id:"countriesSmall",scale:14999999},{id:"countriesBig",scale:34999999},{id:"continent",scale:99999999},{id:"world",scale:147914382}];
@@ -1 +1 @@
1
- import{settings as formatSettings}from"./FormatSettings.js";import{checkArg}from"./checkArg.js";import{DateFormatter,isValidTimeZone,ERR_TIME_ZONE_INVALID}from"./date.js";import{getLogger}from"./log.js";import{NumberFormatter}from"./number.js";export{settings}from"./FormatSettings.js";export function escapeRegExp(t){return t?t.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&"):t}export function camelToKebabCase(t){return t.replace(/([A-Z])/g,(t=>`-${t.toLowerCase()}`))}export function kebabToCamelCase(t){return t.replace(/-[a-z]/g,(t=>t[1].toUpperCase()))}export function format(...t){return globalFormatter.format(...t)}export class StringFormatter{constructor(){this._numberFormatter=new NumberFormatter,this._dateFormatter=new DateFormatter}get numberFormat(){return this._numberFormat}set numberFormat(t){this._numberFormat=t}get dateFormat(){return this._dateFormat}set dateFormat(t){this._dateFormat=t}get currency(){return this._currency}set currency(t){this._currency=t}get fractionalDigits(){return this._fractionalDigits}set fractionalDigits(t){this._fractionalDigits=t}get timeZone(){return this._timeZone}set timeZone(t){checkArg("timezone",t).satisfies((t=>isValidTimeZone(t)),ERR_TIME_ZONE_INVALID(t)),this._timeZone=t}format(t,...e){const r="string"==typeof t?{format:t}:t;checkArg("options",r).isNotMissing();let{format:a}=r;checkArg("format",a).isNotMissing(),a=a.replace(escapedBraceRegex,escapedBracePlaceholder);return a.replace(formatItemRegex,((t,a,o)=>{var n;const i=parseInt(a);let s,m;try{checkArg(`token ${a}`,a).isInRange(0,e.length-1),s=e[i]}catch(t){const e=parseInt(a,10);if(isNaN(e)||e<0)throw t;getLogger("geocortex.api.utilities.string").warn(`Error encountered while formatting string: ${t.toString()}`)}if("number"==typeof s){const t={locale:r.locale,format:o||r.numberFormat||this.numberFormat,currency:r.currency||this.currency,fractionalDigits:null!==(n=r.fractionalDigits)&&void 0!==n?n:this.fractionalDigits};m=this._numberFormatter.format(t,s)}else if(s instanceof Date){const t={locale:r.locale,format:o||r.dateFormat||this.dateFormat,timeZone:r.timeZone||this.timeZone};m=this._dateFormatter.format(t,s)}else m=null==s?"":String(s);return m})).replace(escapedBracePlaceholderRegex,"{").replace("}}","}")}}class GlobalFormatter extends StringFormatter{get numberFormat(){return formatSettings.numberFormat}set numberFormat(t){formatSettings.numberFormat=t}get dateFormat(){return formatSettings.dateFormat}set dateFormat(t){formatSettings.dateFormat=t}get timeZone(){return formatSettings.timeZone}set timeZone(t){formatSettings.timeZone=t}get currency(){return formatSettings.currency}set currency(t){formatSettings.currency=t}get fractionalDigits(){return formatSettings.fractionalDigits}set fractionalDigits(t){formatSettings.fractionalDigits=t}}const globalFormatter=new GlobalFormatter,formatItemRegex=/\{([-\d]+)(?::([^}]*))?\}/g,escapedBraceRegex=/{{/g,escapedBracePlaceholder="\0MAGIC\0",escapedBracePlaceholderRegex=new RegExp(escapedBracePlaceholder,"g");
1
+ import{settings as formatSettings}from"./FormatSettings.js";import{checkArg}from"./checkArg.js";import{DateFormatter,isValidTimeZone,ERR_TIME_ZONE_INVALID}from"./date.js";import{getLogger}from"./log.js";import{NumberFormatter}from"./number.js";export{settings}from"./FormatSettings.js";export function escapeRegExp(t){return t?t.replace(/[-[\]/{}()*+?.\\^$|]/g,"\\$&"):t}export function camelToKebabCase(t){return t.replace(/([A-Z])/g,(t=>`-${t.toLowerCase()}`))}export function kebabToCamelCase(t){return t.replace(/-[a-z]/g,(t=>t[1].toUpperCase()))}export function format(...t){return globalFormatter.format(...t)}export class StringFormatter{constructor(){this._numberFormatter=new NumberFormatter,this._dateFormatter=new DateFormatter}get numberFormat(){return this._numberFormat}set numberFormat(t){this._numberFormat=t}get dateFormat(){return this._dateFormat}set dateFormat(t){this._dateFormat=t}get currency(){return this._currency}set currency(t){this._currency=t}get fractionalDigits(){return this._fractionalDigits}set fractionalDigits(t){this._fractionalDigits=t}get timeZone(){return this._timeZone}set timeZone(t){checkArg("timezone",t).satisfies((t=>isValidTimeZone(t)),ERR_TIME_ZONE_INVALID(t)),this._timeZone=t}format(t,...e){const r="string"==typeof t?{format:t}:t;checkArg("options",r).isNotMissing();let{format:a}=r;checkArg("format",a).isNotMissing(),a=a.replace(escapedBraceRegex,escapedBracePlaceholder);return a.replace(formatItemRegex,((t,a,o)=>{const n=parseInt(a);let i,s;try{checkArg(`token ${a}`,a).isInRange(0,e.length-1),i=e[n]}catch(t){const e=parseInt(a,10);if(isNaN(e)||e<0)throw t;getLogger("geocortex.api.utilities.string").warn(`Error encountered while formatting string: ${t.toString()}`)}if("number"==typeof i){const t={locale:r.locale,format:o||r.numberFormat||this.numberFormat,currency:r.currency||this.currency,fractionalDigits:r.fractionalDigits??this.fractionalDigits};s=this._numberFormatter.format(t,i)}else if(i instanceof Date){const t={locale:r.locale,format:o||r.dateFormat||this.dateFormat,timeZone:r.timeZone||this.timeZone};s=this._dateFormatter.format(t,i)}else s=null==i?"":String(i);return s})).replace(escapedBracePlaceholderRegex,"{").replace("}}","}")}}class GlobalFormatter extends StringFormatter{get numberFormat(){return formatSettings.numberFormat}set numberFormat(t){formatSettings.numberFormat=t}get dateFormat(){return formatSettings.dateFormat}set dateFormat(t){formatSettings.dateFormat=t}get timeZone(){return formatSettings.timeZone}set timeZone(t){formatSettings.timeZone=t}get currency(){return formatSettings.currency}set currency(t){formatSettings.currency=t}get fractionalDigits(){return formatSettings.fractionalDigits}set fractionalDigits(t){formatSettings.fractionalDigits=t}}const globalFormatter=new GlobalFormatter,formatItemRegex=/\{([-\d]+)(?::([^}]*))?\}/g,escapedBraceRegex=/{{/g,escapedBracePlaceholder="\0MAGIC\0",escapedBracePlaceholderRegex=new RegExp(escapedBracePlaceholder,"g");
@@ -1 +1 @@
1
- export function isVolumetric(l){return isSymbol3D(l)&&l.symbolLayers.some((l=>"object"===l.type||"path"===l.type||"extrude"===l.type))}const SYMBOL_CLASS_REGEX=/^esri\.symbols\.\w+Symbol$/;export function isSymbol(l){return SYMBOL_CLASS_REGEX.test(null==l?void 0:l.declaredClass)}export function isCimSymbol(l){return"esri.symbols.CimSymbol"===(null==l?void 0:l.declaredClass)}export function isLabelSymbol3D(l){return"esri.symbols.LabelSymbol3D"===(null==l?void 0:l.declaredClass)}export function isLineSymbol3D(l){return"esri.symbols.LineSymbol3D"===(null==l?void 0:l.declaredClass)}export function isMeshSymbol3D(l){return"esri.symbols.MeshSymbol3D"===(null==l?void 0:l.declaredClass)}export function isPictureFillSymbol(l){return"esri.symbols.PictureFillSymbol"===(null==l?void 0:l.declaredClass)}export function isPictureMarkerSymbol(l){return"esri.symbols.PictureMarkerSymbol"===(null==l?void 0:l.declaredClass)}export function isPointSymbol3D(l){return"esri.symbols.PointSymbol3D"===(null==l?void 0:l.declaredClass)}export function isPolygonSymbol3D(l){return"esri.symbols.PolygonSymbol3D"===(null==l?void 0:l.declaredClass)}export function isSimpleFillSymbol(l){return"esri.symbols.SimpleFillSymbol"===(null==l?void 0:l.declaredClass)}export function isSimpleLineSymbol(l){return"esri.symbols.SimpleLineSymbol"===(null==l?void 0:l.declaredClass)}export function isSimpleMarkerSymbol(l){return"esri.symbols.SimpleMarkerSymbol"===(null==l?void 0:l.declaredClass)}export function isWebStyleSymbol(l){return"esri.symbols.WebStyleSymbol"===(null==l?void 0:l.declaredClass)}export function isTextSymbol(l){return"esri.symbols.TextSymbol"===(null==l?void 0:l.declaredClass)}export function isSymbol3D(l){return isPointSymbol3D(l)||isLineSymbol3D(l)||isPolygonSymbol3D(l)||isMeshSymbol3D(l)||isLabelSymbol3D(l)}export function isPointGeometrySymbol(l){return isSimpleMarkerSymbol(l)||isPictureMarkerSymbol(l)||isWebStyleSymbol(l)||isTextSymbol(l)||isCimSymbol(l)||isPointSymbol3D(l)||isLabelSymbol3D(l)}export function isMeshGeometrySymbol(l){return isMeshSymbol3D(l)||isLabelSymbol3D(l)}export function isPolylineGeometrySymbol(l){return isSimpleLineSymbol(l)||isTextSymbol(l)||isCimSymbol(l)||isLineSymbol3D(l)||isLabelSymbol3D(l)}export function isPolygonGeometrySymbol(l){return isSimpleFillSymbol(l)||isPictureFillSymbol(l)||isSimpleMarkerSymbol(l)||isTextSymbol(l)||isCimSymbol(l)||isPolygonSymbol3D(l)||isLabelSymbol3D(l)}export function isIconSymbol3DLayer(l){return"esri.symbols.IconSymbol3DLayer"===l.declaredClass}export function isObjectSymbol3DLayer(l){return"esri.symbols.ObjectSymbol3DLayer"===l.declaredClass}export function isPathSymbol3DLayer(l){return"esri.symbols.PathSymbol3DLayer"===l.declaredClass}export function isLineSymbol3DLayer(l){return"esri.symbols.LineSymbol3DLayer"===l.declaredClass}export function isFillSymbol3DLayer(l){return"esri.symbols.FillSymbol3DLayer"===l.declaredClass}export function isExtrudeSymbol3DLayer(l){return"esri.symbols.ExtrudeSymbol3DLayer"===l.declaredClass}
1
+ export function isVolumetric(e){return isSymbol3D(e)&&e.symbolLayers.some((e=>"object"===e.type||"path"===e.type||"extrude"===e.type))}const SYMBOL_CLASS_REGEX=/^esri\.symbols\.\w+Symbol$/;export function isSymbol(e){return SYMBOL_CLASS_REGEX.test(e?.declaredClass)}export function isCimSymbol(e){return"esri.symbols.CimSymbol"===e?.declaredClass}export function isLabelSymbol3D(e){return"esri.symbols.LabelSymbol3D"===e?.declaredClass}export function isLineSymbol3D(e){return"esri.symbols.LineSymbol3D"===e?.declaredClass}export function isMeshSymbol3D(e){return"esri.symbols.MeshSymbol3D"===e?.declaredClass}export function isPictureFillSymbol(e){return"esri.symbols.PictureFillSymbol"===e?.declaredClass}export function isPictureMarkerSymbol(e){return"esri.symbols.PictureMarkerSymbol"===e?.declaredClass}export function isPointSymbol3D(e){return"esri.symbols.PointSymbol3D"===e?.declaredClass}export function isPolygonSymbol3D(e){return"esri.symbols.PolygonSymbol3D"===e?.declaredClass}export function isSimpleFillSymbol(e){return"esri.symbols.SimpleFillSymbol"===e?.declaredClass}export function isSimpleLineSymbol(e){return"esri.symbols.SimpleLineSymbol"===e?.declaredClass}export function isSimpleMarkerSymbol(e){return"esri.symbols.SimpleMarkerSymbol"===e?.declaredClass}export function isWebStyleSymbol(e){return"esri.symbols.WebStyleSymbol"===e?.declaredClass}export function isTextSymbol(e){return"esri.symbols.TextSymbol"===e?.declaredClass}export function isSymbol3D(e){return isPointSymbol3D(e)||isLineSymbol3D(e)||isPolygonSymbol3D(e)||isMeshSymbol3D(e)||isLabelSymbol3D(e)}export function isPointGeometrySymbol(e){return isSimpleMarkerSymbol(e)||isPictureMarkerSymbol(e)||isWebStyleSymbol(e)||isTextSymbol(e)||isCimSymbol(e)||isPointSymbol3D(e)||isLabelSymbol3D(e)}export function isMeshGeometrySymbol(e){return isMeshSymbol3D(e)||isLabelSymbol3D(e)}export function isPolylineGeometrySymbol(e){return isSimpleLineSymbol(e)||isTextSymbol(e)||isCimSymbol(e)||isLineSymbol3D(e)||isLabelSymbol3D(e)}export function isPolygonGeometrySymbol(e){return isSimpleFillSymbol(e)||isPictureFillSymbol(e)||isSimpleMarkerSymbol(e)||isTextSymbol(e)||isCimSymbol(e)||isPolygonSymbol3D(e)||isLabelSymbol3D(e)}export function isIconSymbol3DLayer(e){return"esri.symbols.IconSymbol3DLayer"===e.declaredClass}export function isObjectSymbol3DLayer(e){return"esri.symbols.ObjectSymbol3DLayer"===e.declaredClass}export function isPathSymbol3DLayer(e){return"esri.symbols.PathSymbol3DLayer"===e.declaredClass}export function isLineSymbol3DLayer(e){return"esri.symbols.LineSymbol3DLayer"===e.declaredClass}export function isFillSymbol3DLayer(e){return"esri.symbols.FillSymbol3DLayer"===e.declaredClass}export function isExtrudeSymbol3DLayer(e){return"esri.symbols.ExtrudeSymbol3DLayer"===e.declaredClass}
@@ -1 +1 @@
1
- import{Collection}from"../support/esri.js";import{checkArg}from"./checkArg.js";export{}from"../support/esri.js";export function onEach(o,e,t){checkArg("collection",o).isNotMissing(),checkArg("eventType",e).isNotMissing().isNotEmpty(),checkArg("callback",t).isNotMissing();const r=new Map;for(const c of o.toArray())r.set(c,c.on(e,t));const c=o.on("change",(o=>{for(const c of o.added)r.set(c,c.on(e,t));for(const e of o.removed){const o=r.get(e);o&&o.remove(),r.delete(e)}}));return{remove:()=>{c.remove(),r.forEach((o=>o.remove()))}}}export function watchEach(o,e,t,r=!1){checkArg("items",o).isNotMissing(),checkArg("path",e).isNotMissing().isNotEmpty(),checkArg("callback",t).isNotMissing();const c=new Map;for(const n of o.toArray())c.set(n,n.watch(e,t,r));const n=o.on("change",(o=>{for(const n of o.added)c.set(n,n.watch(e,t,r));for(const e of o.removed){const o=c.get(e);o&&o.remove(),c.delete(e)}}));return{remove:()=>{n.remove(),c.forEach((o=>o.remove()))}}}export function watchCollectionPropertyEach(o,e,t,r,c=!1){checkArg("obj",o).isNotMissing(),checkArg("collectionProperty",e).isNotMissing().isNotEmpty(),checkArg("path",t).isNotMissing().isNotEmpty(),checkArg("callback",r).isNotMissing();const n=new Map,s=o.get(e);if(s)for(const o of s.toArray())n.set(o,o.watch(t,r,c));const i=onCollectionPropertyChange(o,e,(o=>{for(const e of o.added)n.set(e,e.watch(t,r,c));for(const e of o.removed){const o=n.get(e);o&&o.remove(),n.delete(e)}}),c);return{remove:()=>{i.remove(),n.forEach((o=>o.remove()))}}}export function onCollectionPropertyChange(o,e,t,r=!1){let c;checkArg("obj",o).isNotMissing(),checkArg("property",e).isNotMissing().isNotEmpty(),checkArg("callback",t).isNotMissing();const n=o.get(e);n&&(c=n.on("change",t));const s=o.watch(e,((o,e)=>{c&&(c.remove(),c=void 0),o&&(c=o.on("change",t));const r=null!=o?o:new Collection,n=null!=e?e:new Collection,s=r,i=r.filter((o=>n.includes(o))),a=n.filter((o=>r.includes(o))),l={added:r.filter((o=>!n.includes(o))).toArray(),removed:n.filter((o=>!r.includes(o))).toArray(),moved:i.filter(((o,e)=>a.indexOf(o)!==e)).toArray(),target:s};(l.added.length||l.removed.length||l.moved.length)&&t(l)}),r);return{remove:()=>{c&&c.remove(),s.remove()}}}export function onOnce(o,e,t){const r=o.on(e,(o=>{t(o),r.remove()}));return r}
1
+ import{Collection}from"../support/esri.js";import{checkArg}from"./checkArg.js";export{}from"../support/esri.js";export function onEach(o,e,t){checkArg("collection",o).isNotMissing(),checkArg("eventType",e).isNotMissing().isNotEmpty(),checkArg("callback",t).isNotMissing();const r=new Map;for(const c of o.toArray())r.set(c,c.on(e,t));const c=o.on("change",(o=>{for(const c of o.added)r.set(c,c.on(e,t));for(const e of o.removed){const o=r.get(e);o&&o.remove(),r.delete(e)}}));return{remove:()=>{c.remove(),r.forEach((o=>o.remove()))}}}export function watchEach(o,e,t,r=!1){checkArg("items",o).isNotMissing(),checkArg("path",e).isNotMissing().isNotEmpty(),checkArg("callback",t).isNotMissing();const c=new Map;for(const n of o.toArray())c.set(n,n.watch(e,t,r));const n=o.on("change",(o=>{for(const n of o.added)c.set(n,n.watch(e,t,r));for(const e of o.removed){const o=c.get(e);o&&o.remove(),c.delete(e)}}));return{remove:()=>{n.remove(),c.forEach((o=>o.remove()))}}}export function watchCollectionPropertyEach(o,e,t,r,c=!1){checkArg("obj",o).isNotMissing(),checkArg("collectionProperty",e).isNotMissing().isNotEmpty(),checkArg("path",t).isNotMissing().isNotEmpty(),checkArg("callback",r).isNotMissing();const n=new Map,s=o.get(e);if(s)for(const o of s.toArray())n.set(o,o.watch(t,r,c));const i=onCollectionPropertyChange(o,e,(o=>{for(const e of o.added)n.set(e,e.watch(t,r,c));for(const e of o.removed){const o=n.get(e);o&&o.remove(),n.delete(e)}}),c);return{remove:()=>{i.remove(),n.forEach((o=>o.remove()))}}}export function onCollectionPropertyChange(o,e,t,r=!1){let c;checkArg("obj",o).isNotMissing(),checkArg("property",e).isNotMissing().isNotEmpty(),checkArg("callback",t).isNotMissing();const n=o.get(e);n&&(c=n.on("change",t));const s=o.watch(e,((o,e)=>{c&&(c.remove(),c=void 0),o&&(c=o.on("change",t));const r=o??new Collection,n=e??new Collection,s=r,i=r.filter((o=>n.includes(o))),a=n.filter((o=>r.includes(o))),g={added:r.filter((o=>!n.includes(o))).toArray(),removed:n.filter((o=>!r.includes(o))).toArray(),moved:i.filter(((o,e)=>a.indexOf(o)!==e)).toArray(),target:s};(g.added.length||g.removed.length||g.moved.length)&&t(g)}),r);return{remove:()=>{c&&c.remove(),s.remove()}}}export function onOnce(o,e,t){const r=o.on(e,(o=>{t(o),r.remove()}));return r}
package/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * The current version of the Geocortex ArcGIS Extensions API.
3
3
  */
4
- export declare const version = "35.0.0";
4
+ export declare const version = "35.0.1";
package/version.js CHANGED
@@ -1 +1 @@
1
- export const version="35.0.0";
1
+ export const version="35.0.1";