@arcgis/core 4.28.0-next.20230922 → 4.28.0-next.20230923

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 (139) hide show
  1. package/PopupTemplate.js +1 -1
  2. package/TimeExtent.js +1 -1
  3. package/arcade/functions/convertdirection.js +1 -1
  4. package/arcade/treeAnalysis.js +1 -1
  5. package/assets/esri/core/workers/RemoteClient.js +1 -1
  6. package/assets/esri/core/workers/chunks/02156fd04279f4d0fd3f.js +1 -0
  7. package/assets/esri/core/workers/chunks/1186ba1947bd0c32f148.js +1 -0
  8. package/assets/esri/core/workers/chunks/186445b9fbedd261f684.js +1 -0
  9. package/assets/esri/core/workers/chunks/{4bcca5fffb1fcc2d4353.js → 250bb6ae6f1992b5b4f9.js} +1 -1
  10. package/assets/esri/core/workers/chunks/2a0b3b52ecd787a613bc.js +1 -0
  11. package/assets/esri/core/workers/chunks/2bc9b55e655968229ef4.js +1 -0
  12. package/assets/esri/core/workers/chunks/2f0924e7aa89e689da4a.js +1 -0
  13. package/assets/esri/core/workers/chunks/3f218d65ec451b2a1027.js +1 -0
  14. package/assets/esri/core/workers/chunks/45d6b942cdccca2ce44a.js +1 -0
  15. package/assets/esri/core/workers/chunks/4fe5bac782a742d5b1c0.js +1 -0
  16. package/assets/esri/core/workers/chunks/59a807220d6f0dd18776.js +1 -0
  17. package/assets/esri/core/workers/chunks/59dff10d7ad2b1bf469e.js +1 -0
  18. package/assets/esri/core/workers/chunks/612c485c5aad1548d708.js +1 -0
  19. package/assets/esri/core/workers/chunks/{2bb69d76a13564e8e455.js → 645ba2d5c10184632d23.js} +1 -1
  20. package/assets/esri/core/workers/chunks/72c5bd6f7b8541b8d69e.js +1 -0
  21. package/assets/esri/core/workers/chunks/{94188fe381239d48a975.js → 76483c9a8848f3106126.js} +1 -1
  22. package/assets/esri/core/workers/chunks/7aa58c96798447ce5907.js +1 -0
  23. package/assets/esri/core/workers/chunks/7d078b8b9997b5300c0a.js +1 -0
  24. package/assets/esri/core/workers/chunks/8458ed96f3e72814cef2.js +1 -0
  25. package/assets/esri/core/workers/chunks/91c9f0d59eaed7a735ce.js +1 -0
  26. package/assets/esri/core/workers/chunks/97658ac749664a07c92d.js +1 -0
  27. package/assets/esri/core/workers/chunks/{1da74a306aa5b4eacaae.js → 9866bbaeaf885c2dcca9.js} +1 -1
  28. package/assets/esri/core/workers/chunks/a39ae87298ac674f129d.js +1 -0
  29. package/assets/esri/core/workers/chunks/a7b3048c19348540e004.js +1 -0
  30. package/assets/esri/core/workers/chunks/a8ca4b116909e47722f9.js +1 -0
  31. package/assets/esri/core/workers/chunks/ab145d13932d87dd7bf9.js +1 -0
  32. package/assets/esri/core/workers/chunks/{77c15b1c2729c780f75a.js → aeeeb386134b341d7ad2.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{e14da83329f7771135bc.js → af54b233f6d6ad70b4a3.js} +2 -2
  34. package/assets/esri/core/workers/chunks/b9146daae8457224fd08.js +1 -0
  35. package/assets/esri/core/workers/chunks/bcdd2e8841abcb4df6da.js +1 -0
  36. package/assets/esri/core/workers/chunks/be05cc0cdabd5e051045.js +1 -0
  37. package/assets/esri/core/workers/chunks/c5f5f37bef11c6fbdc40.js +1 -0
  38. package/assets/esri/core/workers/chunks/{78e7af899d9d50aa7e74.js → d9fb500cbd0f04d219a3.js} +1 -1
  39. package/assets/esri/core/workers/chunks/e0dd6789fb797e9b7206.js +1 -0
  40. package/assets/esri/core/workers/chunks/{6f271249e042086d5a16.js → e4e49deae8da74f629db.js} +1 -1
  41. package/assets/esri/core/workers/chunks/e5dcff7a4fa84ba09670.js +1 -0
  42. package/assets/esri/core/workers/chunks/fad6a7bb82a0a2df726f.js +1 -0
  43. package/assets/esri/themes/base/widgets/_FeatureForm.scss +2 -84
  44. package/assets/esri/themes/dark/main.css +1 -1
  45. package/assets/esri/themes/light/main.css +1 -1
  46. package/assets/esri/themes/light/view.css +1 -1
  47. package/chunks/arcade.js +1 -1
  48. package/core/accessorSupport/diffUtils.js +1 -1
  49. package/core/number.js +1 -1
  50. package/core/reactiveUtils.js +1 -1
  51. package/core/sql.js +1 -1
  52. package/core/timeUtils.js +1 -1
  53. package/interfaces.d.ts +20 -4
  54. package/layers/LinkChartLayer.js +1 -1
  55. package/layers/SceneLayer.js +1 -1
  56. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  57. package/layers/mixins/ArcGISImageService.js +1 -1
  58. package/layers/support/fieldUtils.js +1 -1
  59. package/layers/support/imageryRendererUtils.js +1 -1
  60. package/layers/support/kmlUtils.js +1 -1
  61. package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
  62. package/layers/support/rasterFunctions/creators/createDataManagementFunctions.js +1 -1
  63. package/package.json +1 -1
  64. package/request.js +1 -1
  65. package/rest/support/DirectionsFeatureSet.js +1 -1
  66. package/smartMapping/renderers/pieChart.js +1 -1
  67. package/smartMapping/renderers/relationship.js +1 -1
  68. package/smartMapping/renderers/support/utils.js +1 -1
  69. package/smartMapping/statistics/support/ageUtils.js +1 -1
  70. package/smartMapping/support/adapters/support/utils.js +1 -1
  71. package/smartMapping/support/utils.js +1 -1
  72. package/support/apiKeyUtils.js +1 -1
  73. package/support/revision.js +1 -1
  74. package/symbols/cim/cimAnalyzer.js +1 -1
  75. package/time/TimeReference.js +1 -1
  76. package/time/timeReferenceUtils.js +1 -1
  77. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  78. package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
  79. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  80. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  81. package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
  82. package/views/3d/glTF/loader.js +1 -1
  83. package/views/3d/interactive/editingTools/manipulations/MoveManipulation.js +1 -1
  84. package/views/3d/interactive/editingTools/transformGraphic/isSupportedGraphic.js +1 -1
  85. package/views/3d/state/ViewStateManager.js +1 -1
  86. package/views/3d/webgl-engine/effects/blit/Blit.js +5 -0
  87. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  88. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  89. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  90. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  91. package/views/3d/webgl-engine/lib/RenderSlot.js +1 -1
  92. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  93. package/views/ui/UI.js +1 -1
  94. package/views/webgl/ShaderTranspiler.js +1 -1
  95. package/webmap/InitialViewProperties.js +1 -1
  96. package/widgets/Attachments/AttachmentsViewModel.js +1 -1
  97. package/widgets/Feature/FeatureViewModel.js +1 -1
  98. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  99. package/widgets/FeatureForm/GroupInput.js +1 -1
  100. package/widgets/FeatureForm/css.js +1 -1
  101. package/widgets/FeatureForm.js +1 -1
  102. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  103. package/widgets/FloorFilter.js +1 -1
  104. package/widgets/Legend/LegendViewModel.js +1 -1
  105. package/widgets/ScaleRangeSlider/scalePreviewUtils.js +1 -1
  106. package/widgets/TimeSlider.js +1 -1
  107. package/widgets/support/DatePicker.js +1 -1
  108. package/widgets/support/Popover.js +1 -1
  109. package/widgets/support/TimePicker.js +1 -1
  110. package/widgets/support/dateUtils.js +1 -1
  111. package/assets/esri/core/workers/chunks/07a2dab2f645dcd7d8d6.js +0 -1
  112. package/assets/esri/core/workers/chunks/114269dda1d296893908.js +0 -1
  113. package/assets/esri/core/workers/chunks/126df6237fc80608344e.js +0 -1
  114. package/assets/esri/core/workers/chunks/1c83f47d446f2bca1721.js +0 -1
  115. package/assets/esri/core/workers/chunks/243b1f9b2fba02946481.js +0 -1
  116. package/assets/esri/core/workers/chunks/28a5ef2e2daa4207dd8b.js +0 -1
  117. package/assets/esri/core/workers/chunks/2a1c1be9c202462cf54d.js +0 -1
  118. package/assets/esri/core/workers/chunks/2b017e1aa1be71974c2e.js +0 -1
  119. package/assets/esri/core/workers/chunks/3619e04cbb6691549014.js +0 -1
  120. package/assets/esri/core/workers/chunks/3dbfb4f370a874393822.js +0 -1
  121. package/assets/esri/core/workers/chunks/406db5c90271a3a203d4.js +0 -1
  122. package/assets/esri/core/workers/chunks/5a5720caa64a46daadf9.js +0 -1
  123. package/assets/esri/core/workers/chunks/5edb99b58549cd66b394.js +0 -1
  124. package/assets/esri/core/workers/chunks/6203ddf6caad3d356327.js +0 -1
  125. package/assets/esri/core/workers/chunks/83a15aa4b1c5252c651b.js +0 -1
  126. package/assets/esri/core/workers/chunks/846b7a81b870c8b238a1.js +0 -1
  127. package/assets/esri/core/workers/chunks/85e436decdd693f240ee.js +0 -1
  128. package/assets/esri/core/workers/chunks/8ab832468300cc4feb5a.js +0 -1
  129. package/assets/esri/core/workers/chunks/b499b4fa771e8c422b43.js +0 -1
  130. package/assets/esri/core/workers/chunks/bc1dc6383e60e7e61d50.js +0 -1
  131. package/assets/esri/core/workers/chunks/bc6323bdc98013da6fe5.js +0 -1
  132. package/assets/esri/core/workers/chunks/bffad8aec92f982cc75a.js +0 -1
  133. package/assets/esri/core/workers/chunks/c6ea5aac232d1eca04dd.js +0 -1
  134. package/assets/esri/core/workers/chunks/c8438c2d9ac48afe4033.js +0 -1
  135. package/assets/esri/core/workers/chunks/d824f4b405a72cd2fa74.js +0 -1
  136. package/assets/esri/core/workers/chunks/dd7508d4016715371e0c.js +0 -1
  137. package/assets/esri/core/workers/chunks/f5e0ff5292b9fd18fc92.js +0 -1
  138. package/assets/esri/core/workers/chunks/f5eb8b5021620be7538e.js +0 -1
  139. package/assets/esri/core/workers/chunks/fb87fd64411b78afea23.js +0 -1
package/PopupTemplate.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"./chunks/tslib.es6.js";import{ClonableMixin as e}from"./core/Clonable.js";import o from"./core/Collection.js";import{JSONSupport as s}from"./core/JSONSupport.js";import{clone as r}from"./core/lang.js";import i from"./core/Logger.js";import{isPromiseLike as n}from"./core/promiseUtils.js";import{property as p}from"./core/accessorSupport/decorators/property.js";import{cast as l}from"./core/accessorSupport/decorators/cast.js";import{reader as a}from"./core/accessorSupport/decorators/reader.js";import{subclass as d}from"./core/accessorSupport/decorators/subclass.js";import{writer as c}from"./core/accessorSupport/decorators/writer.js";import{ensureOneOfType as f}from"./core/accessorSupport/ensureType.js";import{collectFields as m,collectArcadeFieldNames as u}from"./layers/support/fieldUtils.js";import{persistableTypes as h}from"./popup/content.js";import y from"./popup/ExpressionInfo.js";import I from"./popup/FieldInfo.js";import F from"./popup/LayerOptions.js";import _ from"./popup/RelatedRecordsInfo.js";import{types as x}from"./popup/content/support/mediaInfoTypes.js";import g from"./support/actions/ActionBase.js";import w from"./support/actions/ActionButton.js";import A from"./support/actions/ActionToggle.js";import C from"./popup/content/MediaContent.js";import N from"./popup/content/TextContent.js";import j from"./popup/content/AttachmentsContent.js";import E from"./popup/content/FieldsContent.js";import O from"./popup/content/ExpressionContent.js";import R from"./popup/content/RelationshipContent.js";import S from"./popup/content/Content.js";import v from"./popup/content/CustomContent.js";const T="esri.PopupTemplate",b=i.getLogger(T),J="relationships/",L="expression/",B=o.ofType({key:"type",defaultKeyValue:"button",base:g,typeMap:{button:w,toggle:A}}),M={base:S,key:"type",typeMap:{media:C,custom:v,text:N,attachments:j,fields:E,expression:O,relationship:R}},P=["attachments","fields","media","text","expression","relationship"];let $=class extends(e(s)){constructor(){super(...arguments),this.actions=null,this.content="",this.expressionInfos=null,this.fieldInfos=null,this.layerOptions=null,this.lastEditInfoEnabled=!0,this.outFields=null,this.overwriteActions=!1,this.returnGeometry=!1,this.title=""}castContent(t){return Array.isArray(t)?t.map((t=>f(M,t))):"string"==typeof t||"function"==typeof t||t instanceof HTMLElement||n(t)?t:(b.error("content error","unsupported content value",{value:t}),null)}readContent(t,e){const{popupElements:o}=e;return Array.isArray(o)&&o.length>0?this._readPopupInfoElements(e.description,e.mediaInfos,o):this._readPopupInfo(e)}writeContent(t,e,o,s){"string"!=typeof t?Array.isArray(t)&&(e.popupElements=t.filter((t=>P.includes(t.type))).map((t=>t&&t.toJSON(s))),e.popupElements.forEach((t=>{"attachments"===t.type?this._writeAttachmentContent(e):"media"===t.type?this._writeMediaContent(t,e):"text"===t.type?this._writeTextContent(t,e):"relationship"===t.type&&this._writeRelationshipContent(t,e)}))):e.description=t}writeFieldInfos(t,e,o,s){const{content:r}=this,i=Array.isArray(r)?r:null;if(t){const o=i?i.filter((t=>"fields"===t.type)):[],r=o.length&&o.every((t=>t.fieldInfos?.length));e.fieldInfos=t.filter(Boolean).map((t=>{const e=t.toJSON(s);return r&&(e.visible=!1),e}))}if(i)for(const n of i)"fields"===n.type&&this._writeFieldsContent(n,e)}writeLayerOptions(t,e,o,s){e[o]=!t||null===t.showNoDataRecords&&null===t.returnTopmostRaster?null:t.toJSON(s)}writeTitle(t,e){e.title=t||""}async collectRequiredFields(t,e){const o=this.expressionInfos||[];await this._collectExpressionInfoFields(t,e,[...o,...this._getContentExpressionInfos(this.content,o)]),m(t,e,[...this.outFields||[],...this._getActionsFields(this.actions),...this._getTitleFields(this.title),...this._getContentFields(this.content)])}async getRequiredFields(t){const e=new Set;return await this.collectRequiredFields(e,t),[...e].sort()}_writeFieldsContent(t,e){if(!Array.isArray(t.fieldInfos)||!t.fieldInfos.length)return;const o=r(t.fieldInfos);Array.isArray(e.fieldInfos)?o.forEach((t=>{const o=e.fieldInfos.find((e=>e.fieldName.toLowerCase()===t.fieldName.toLowerCase()));o?o.visible=!0:e.fieldInfos.push(t)})):e.fieldInfos=o}_writeAttachmentContent(t){t.showAttachments||(t.showAttachments=!0)}_writeRelationshipContent(t,e){const o=t.orderByFields?.map((e=>this._toFieldOrderJSON(e,t.relationshipId)))||[],s=[...e.relatedRecordsInfo?.orderByFields||[],...o];e.relatedRecordsInfo={showRelatedRecords:!0,...s?.length&&{orderByFields:s}}}_writeTextContent(t,e){!e.description&&t.text&&(e.description=t.text)}_writeMediaContent(t,e){if(!Array.isArray(t.mediaInfos)||!t.mediaInfos.length)return;const o=r(t.mediaInfos);Array.isArray(e.mediaInfos)?e.mediaInfos=[...e.mediaInfos,...o]:e.mediaInfos=o}_readPopupInfoElements(t,e,o){const s={description:!1,mediaInfos:!1};return o.map((o=>"media"===o.type?(o.mediaInfos||!e||s.mediaInfos||(o.mediaInfos=e,s.mediaInfos=!0),C.fromJSON(o)):"text"===o.type?(o.text||!t||s.description||(o.text=t,s.description=!0),N.fromJSON(o)):"attachments"===o.type?j.fromJSON(o):"fields"===o.type?E.fromJSON(o):"expression"===o.type?O.fromJSON(o):"relationship"===o.type?R.fromJSON(o):void 0)).filter(Boolean)}_toRelationshipContent(t){const{field:e,order:o}=t;if(!e?.startsWith(J))return null;const s=e.replace(J,"").split("/");if(2!==s.length)return null;const r=parseInt(s[0],10),i=s[1];return"number"==typeof r&&i?R.fromJSON({relationshipId:r,orderByFields:[{field:i,order:o}]}):null}_toFieldOrderJSON(t,e){const{order:o,field:s}=t;return{field:`${J}${e}/${s}`,order:o}}_readPopupInfo({description:t,mediaInfos:e,showAttachments:o,relatedRecordsInfo:s={showRelatedRecords:!1}}){const r=[];t?r.push(new N({text:t})):r.push(new E),Array.isArray(e)&&e.length&&r.push(C.fromJSON({mediaInfos:e})),o&&r.push(j.fromJSON({displayType:"auto"}));const{showRelatedRecords:i,orderByFields:n}=s;return i&&n?.length&&n.forEach((t=>{const e=this._toRelationshipContent(t);e&&r.push(e)})),r.length?r:t}_getContentElementFields(t){const e=t?.type;if("attachments"===e)return[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description)];if("custom"===e)return t.outFields||[];if("fields"===e)return[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description),...this._getFieldInfoFields(t.fieldInfos??this.fieldInfos)];if("media"===e){const e=t.mediaInfos||[];return[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description),...e.reduce(((t,e)=>[...t,...this._getMediaInfoFields(e)]),[])]}return"text"===e?this._extractFieldNames(t.text):[]}_getMediaInfoFields(t){const{caption:e,title:o,value:s}=t,r=s||{},{fields:i,normalizeField:n,tooltipField:p,sourceURL:l,linkURL:a}=r,d=[...this._extractFieldNames(o),...this._extractFieldNames(e),...this._extractFieldNames(l),...this._extractFieldNames(a),...i??[]];return n&&d.push(n),p&&d.push(p),d}_getContentExpressionInfos(t,e){return Array.isArray(t)?t.reduce(((t,e)=>[...t,..."expression"===e.type&&e.expressionInfo?[e.expressionInfo]:[]]),e):[]}_getContentFields(t){return"string"==typeof t?this._extractFieldNames(t):Array.isArray(t)?t.reduce(((t,e)=>[...t,...this._getContentElementFields(e)]),[]):[]}async _collectExpressionInfoFields(t,e,o){o&&await Promise.all(o.map((o=>u(t,e,o.expression))))}_getFieldInfoFields(t){return t?t.filter((t=>void 0===t.visible||!!t.visible)).map((t=>t.fieldName)).filter((t=>!t.startsWith(J)&&!t.startsWith(L))):[]}_getActionsFields(t){return t?t.toArray().reduce(((t,e)=>[...t,...this._getActionFields(e)]),[]):[]}_getActionFields(t){const{className:e,title:o,type:s}=t,r="button"===s||"toggle"===s?t.image:"";return[...this._extractFieldNames(o),...this._extractFieldNames(e),...this._extractFieldNames(r)]}_getTitleFields(t){return"string"==typeof t?this._extractFieldNames(t):[]}_extractFieldNames(t){if(!t||"string"!=typeof t)return[];const e=/{[^}]*}/g,o=t.match(e);if(!o)return[];const s=/\{(\w+):.+\}/,r=o.filter((t=>!(0===t.indexOf(`{${J}`)||0===t.indexOf(`{${L}`)))).map((t=>t.replace(s,"{$1}")));return r?r.map((t=>t.slice(1,-1))):[]}};t([p({type:B})],$.prototype,"actions",void 0),t([p()],$.prototype,"content",void 0),t([l("content")],$.prototype,"castContent",null),t([a("content",["description","fieldInfos","popupElements","mediaInfos","showAttachments","relatedRecordsInfo"])],$.prototype,"readContent",null),t([c("content",{popupElements:{type:o.ofType(h)},showAttachments:{type:Boolean},mediaInfos:{type:o.ofType(x)},description:{type:String},relatedRecordsInfo:{type:_}})],$.prototype,"writeContent",null),t([p({type:[y],json:{write:!0}})],$.prototype,"expressionInfos",void 0),t([p({type:[I]})],$.prototype,"fieldInfos",void 0),t([c("fieldInfos")],$.prototype,"writeFieldInfos",null),t([p({type:F})],$.prototype,"layerOptions",void 0),t([c("layerOptions")],$.prototype,"writeLayerOptions",null),t([p({type:Boolean,json:{read:{source:"showLastEditInfo"},write:{target:"showLastEditInfo"},default:!0}})],$.prototype,"lastEditInfoEnabled",void 0),t([p()],$.prototype,"outFields",void 0),t([p()],$.prototype,"overwriteActions",void 0),t([p()],$.prototype,"returnGeometry",void 0),t([p({json:{type:String}})],$.prototype,"title",void 0),t([c("title")],$.prototype,"writeTitle",null),$=t([d("esri.PopupTemplate")],$);const k=$;export{k as default};
5
+ import{_ as t}from"./chunks/tslib.es6.js";import{ClonableMixin as e}from"./core/Clonable.js";import o from"./core/Collection.js";import{JSONSupport as s}from"./core/JSONSupport.js";import{clone as r}from"./core/lang.js";import i from"./core/Logger.js";import{isPromiseLike as n}from"./core/promiseUtils.js";import{property as p}from"./core/accessorSupport/decorators/property.js";import{cast as l}from"./core/accessorSupport/decorators/cast.js";import{reader as a}from"./core/accessorSupport/decorators/reader.js";import{subclass as d}from"./core/accessorSupport/decorators/subclass.js";import{writer as c}from"./core/accessorSupport/decorators/writer.js";import{ensureOneOfType as f}from"./core/accessorSupport/ensureType.js";import{collectFields as m,collectArcadeFieldNames as u}from"./layers/support/fieldUtils.js";import{persistableTypes as h}from"./popup/content.js";import y from"./popup/ExpressionInfo.js";import I from"./popup/FieldInfo.js";import F from"./popup/LayerOptions.js";import _ from"./popup/RelatedRecordsInfo.js";import{types as x}from"./popup/content/support/mediaInfoTypes.js";import g from"./support/actions/ActionBase.js";import w from"./support/actions/ActionButton.js";import A from"./support/actions/ActionToggle.js";import C from"./popup/content/MediaContent.js";import N from"./popup/content/TextContent.js";import j from"./popup/content/AttachmentsContent.js";import S from"./popup/content/FieldsContent.js";import E from"./popup/content/ExpressionContent.js";import O from"./popup/content/RelationshipContent.js";import R from"./popup/content/Content.js";import v from"./popup/content/CustomContent.js";const T="esri.PopupTemplate",b=i.getLogger(T),J="relationships/",L="expression/",B=o.ofType({key:"type",defaultKeyValue:"button",base:g,typeMap:{button:w,toggle:A}}),M={base:R,key:"type",typeMap:{media:C,custom:v,text:N,attachments:j,fields:S,expression:E,relationship:O}},P=new Set(["attachments","fields","media","text","expression","relationship"]);let $=class extends(e(s)){constructor(){super(...arguments),this.actions=null,this.content="",this.expressionInfos=null,this.fieldInfos=null,this.layerOptions=null,this.lastEditInfoEnabled=!0,this.outFields=null,this.overwriteActions=!1,this.returnGeometry=!1,this.title=""}castContent(t){return Array.isArray(t)?t.map((t=>f(M,t))):"string"==typeof t||"function"==typeof t||t instanceof HTMLElement||n(t)?t:(b.error("content error","unsupported content value",{value:t}),null)}readContent(t,e){const{popupElements:o}=e;return Array.isArray(o)&&o.length>0?this._readPopupInfoElements(e.description,e.mediaInfos,o):this._readPopupInfo(e)}writeContent(t,e,o,s){"string"!=typeof t?Array.isArray(t)&&(e.popupElements=t.filter((t=>P.has(t.type))).map((t=>t&&t.toJSON(s))),e.popupElements.forEach((t=>{"attachments"===t.type?this._writeAttachmentContent(e):"media"===t.type?this._writeMediaContent(t,e):"text"===t.type?this._writeTextContent(t,e):"relationship"===t.type&&this._writeRelationshipContent(t,e)}))):e.description=t}writeFieldInfos(t,e,o,s){const{content:r}=this,i=Array.isArray(r)?r:null;if(t){const o=i?i.filter((t=>"fields"===t.type)):[],r=o.length&&o.every((t=>t.fieldInfos?.length));e.fieldInfos=t.filter(Boolean).map((t=>{const e=t.toJSON(s);return r&&(e.visible=!1),e}))}if(i)for(const n of i)"fields"===n.type&&this._writeFieldsContent(n,e)}writeLayerOptions(t,e,o,s){e[o]=!t||null===t.showNoDataRecords&&null===t.returnTopmostRaster?null:t.toJSON(s)}writeTitle(t,e){e.title=t||""}async collectRequiredFields(t,e){const o=this.expressionInfos||[];await this._collectExpressionInfoFields(t,e,[...o,...this._getContentExpressionInfos(this.content,o)]),m(t,e,[...this.outFields||[],...this._getActionsFields(this.actions),...this._getTitleFields(this.title),...this._getContentFields(this.content)])}async getRequiredFields(t){const e=new Set;return await this.collectRequiredFields(e,t),[...e].sort()}_writeFieldsContent(t,e){if(!Array.isArray(t.fieldInfos)||!t.fieldInfos.length)return;const o=r(t.fieldInfos);Array.isArray(e.fieldInfos)?o.forEach((t=>{const o=e.fieldInfos.find((e=>e.fieldName.toLowerCase()===t.fieldName.toLowerCase()));o?o.visible=!0:e.fieldInfos.push(t)})):e.fieldInfos=o}_writeAttachmentContent(t){t.showAttachments||(t.showAttachments=!0)}_writeRelationshipContent(t,e){const o=t.orderByFields?.map((e=>this._toFieldOrderJSON(e,t.relationshipId)))||[],s=[...e.relatedRecordsInfo?.orderByFields||[],...o];e.relatedRecordsInfo={showRelatedRecords:!0,...s?.length&&{orderByFields:s}}}_writeTextContent(t,e){!e.description&&t.text&&(e.description=t.text)}_writeMediaContent(t,e){if(!Array.isArray(t.mediaInfos)||!t.mediaInfos.length)return;const o=r(t.mediaInfos);Array.isArray(e.mediaInfos)?e.mediaInfos=[...e.mediaInfos,...o]:e.mediaInfos=o}_readPopupInfoElements(t,e,o){const s={description:!1,mediaInfos:!1};return o.map((o=>"media"===o.type?(o.mediaInfos||!e||s.mediaInfos||(o.mediaInfos=e,s.mediaInfos=!0),C.fromJSON(o)):"text"===o.type?(o.text||!t||s.description||(o.text=t,s.description=!0),N.fromJSON(o)):"attachments"===o.type?j.fromJSON(o):"fields"===o.type?S.fromJSON(o):"expression"===o.type?E.fromJSON(o):"relationship"===o.type?O.fromJSON(o):void 0)).filter(Boolean)}_toRelationshipContent(t){const{field:e,order:o}=t;if(!e?.startsWith(J))return null;const s=e.replace(J,"").split("/");if(2!==s.length)return null;const r=parseInt(s[0],10),i=s[1];return"number"==typeof r&&i?O.fromJSON({relationshipId:r,orderByFields:[{field:i,order:o}]}):null}_toFieldOrderJSON(t,e){const{order:o,field:s}=t;return{field:`${J}${e}/${s}`,order:o}}_readPopupInfo({description:t,mediaInfos:e,showAttachments:o,relatedRecordsInfo:s={showRelatedRecords:!1}}){const r=[];t?r.push(new N({text:t})):r.push(new S),Array.isArray(e)&&e.length&&r.push(C.fromJSON({mediaInfos:e})),o&&r.push(j.fromJSON({displayType:"auto"}));const{showRelatedRecords:i,orderByFields:n}=s;return i&&n?.length&&n.forEach((t=>{const e=this._toRelationshipContent(t);e&&r.push(e)})),r.length?r:t}_getContentElementFields(t){const e=t?.type;if("attachments"===e)return[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description)];if("custom"===e)return t.outFields||[];if("fields"===e)return[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description),...this._getFieldInfoFields(t.fieldInfos??this.fieldInfos)];if("media"===e){const e=t.mediaInfos||[];return[...this._extractFieldNames(t.title),...this._extractFieldNames(t.description),...e.reduce(((t,e)=>[...t,...this._getMediaInfoFields(e)]),[])]}return"text"===e?this._extractFieldNames(t.text):[]}_getMediaInfoFields(t){const{caption:e,title:o,value:s}=t,r=s||{},{fields:i,normalizeField:n,tooltipField:p,sourceURL:l,linkURL:a}=r,d=[...this._extractFieldNames(o),...this._extractFieldNames(e),...this._extractFieldNames(l),...this._extractFieldNames(a),...i??[]];return n&&d.push(n),p&&d.push(p),d}_getContentExpressionInfos(t,e){return Array.isArray(t)?t.reduce(((t,e)=>[...t,..."expression"===e.type&&e.expressionInfo?[e.expressionInfo]:[]]),e):[]}_getContentFields(t){return"string"==typeof t?this._extractFieldNames(t):Array.isArray(t)?t.reduce(((t,e)=>[...t,...this._getContentElementFields(e)]),[]):[]}async _collectExpressionInfoFields(t,e,o){o&&await Promise.all(o.map((o=>u(t,e,o.expression))))}_getFieldInfoFields(t){return t?t.filter((t=>void 0===t.visible||!!t.visible)).map((t=>t.fieldName)).filter((t=>!t.startsWith(J)&&!t.startsWith(L))):[]}_getActionsFields(t){return t?t.toArray().reduce(((t,e)=>[...t,...this._getActionFields(e)]),[]):[]}_getActionFields(t){const{className:e,title:o,type:s}=t,r="button"===s||"toggle"===s?t.image:"";return[...this._extractFieldNames(o),...this._extractFieldNames(e),...this._extractFieldNames(r)]}_getTitleFields(t){return"string"==typeof t?this._extractFieldNames(t):[]}_extractFieldNames(t){if(!t||"string"!=typeof t)return[];const e=/{[^}]*}/g,o=t.match(e);if(!o)return[];const s=/\{(\w+):.+\}/,r=o.filter((t=>!(0===t.indexOf(`{${J}`)||0===t.indexOf(`{${L}`)))).map((t=>t.replace(s,"{$1}")));return r?r.map((t=>t.slice(1,-1))):[]}};t([p({type:B})],$.prototype,"actions",void 0),t([p()],$.prototype,"content",void 0),t([l("content")],$.prototype,"castContent",null),t([a("content",["description","fieldInfos","popupElements","mediaInfos","showAttachments","relatedRecordsInfo"])],$.prototype,"readContent",null),t([c("content",{popupElements:{type:o.ofType(h)},showAttachments:{type:Boolean},mediaInfos:{type:o.ofType(x)},description:{type:String},relatedRecordsInfo:{type:_}})],$.prototype,"writeContent",null),t([p({type:[y],json:{write:!0}})],$.prototype,"expressionInfos",void 0),t([p({type:[I]})],$.prototype,"fieldInfos",void 0),t([c("fieldInfos")],$.prototype,"writeFieldInfos",null),t([p({type:F})],$.prototype,"layerOptions",void 0),t([c("layerOptions")],$.prototype,"writeLayerOptions",null),t([p({type:Boolean,json:{read:{source:"showLastEditInfo"},write:{target:"showLastEditInfo"},default:!0}})],$.prototype,"lastEditInfoEnabled",void 0),t([p()],$.prototype,"outFields",void 0),t([p()],$.prototype,"overwriteActions",void 0),t([p()],$.prototype,"returnGeometry",void 0),t([p({json:{type:String}})],$.prototype,"title",void 0),t([c("title")],$.prototype,"writeTitle",null),$=t([d("esri.PopupTemplate")],$);const k=$;export{k as default};
package/TimeExtent.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"./chunks/tslib.es6.js";import{JSONSupport as e}from"./core/JSONSupport.js";import{truncateDate as r,offsetDate as s}from"./core/timeUtils.js";import{property as n}from"./core/accessorSupport/decorators/property.js";import"./core/accessorSupport/ensureType.js";import"./core/arrayUtils.js";import"./core/has.js";import{reader as i}from"./core/accessorSupport/decorators/reader.js";import{subclass as l}from"./core/accessorSupport/decorators/subclass.js";import{writer as o}from"./core/accessorSupport/decorators/writer.js";var a;let u=a=class extends e{static get allTime(){return m}static get empty(){return p}constructor(t){super(t),this.end=null,this.start=null}readEnd(t,e){return null!=e.end?new Date(e.end):null}writeEnd(t,e){e.end=t?.getTime()??null}get isAllTime(){return this.equals(a.allTime)}get isEmpty(){return this.equals(a.empty)}readStart(t,e){return null!=e.start?new Date(e.start):null}writeStart(t,e){e.start=t?.getTime()??null}clone(){return new a({end:this.end,start:this.start})}equals(t){if(!t)return!1;const e=this.start?.getTime()??this.start,r=this.end?.getTime()??this.end,s=t.start?.getTime()??t.start,n=t.end?.getTime()??t.end;return e===s&&r===n}expandTo(t,e="system"){if(this.isEmpty||this.isAllTime)return this.clone();let n=this.start;n&&(n=r(n,t,e));let i=this.end;if(i){const n=r(i,t,e);i=i.getTime()===n.getTime()?n:s(n,1,t,e)}return new a({start:n,end:i})}intersection(t){if(!t)return this.clone();if(this.isEmpty||t.isEmpty)return a.empty;if(this.isAllTime)return t.clone();if(t.isAllTime)return this.clone();const e=this.start?.getTime()??-1/0,r=this.end?.getTime()??1/0,s=t.start?.getTime()??-1/0,n=t.end?.getTime()??1/0;let i,l;if(s>=e&&s<=r?i=s:e>=s&&e<=n&&(i=e),r>=s&&r<=n?l=r:n>=e&&n<=r&&(l=n),null!=i&&null!=l&&!isNaN(i)&&!isNaN(l)){const t=new a;return t.start=i===-1/0?null:new Date(i),t.end=l===1/0?null:new Date(l),t}return a.empty}offset(t,e,r="system"){if(this.isEmpty||this.isAllTime)return this.clone();const n=new a,{start:i,end:l}=this;return null!=i&&(n.start=s(i,t,e,r)),null!=l&&(n.end=s(l,t,e,r)),n}union(t){if(!t||t.isEmpty)return this.clone();if(this.isEmpty)return t.clone();if(this.isAllTime||t.isAllTime)return m.clone();const e=null!=this.start&&null!=t.start?new Date(Math.min(this.start.getTime(),t.start.getTime())):null,r=null!=this.end&&null!=t.end?new Date(Math.max(this.end.getTime(),t.end.getTime())):null;return new a({start:e,end:r})}};t([n({type:Date,json:{write:{allowNull:!0}}})],u.prototype,"end",void 0),t([i("end")],u.prototype,"readEnd",null),t([o("end")],u.prototype,"writeEnd",null),t([n({readOnly:!0,json:{read:!1}})],u.prototype,"isAllTime",null),t([n({readOnly:!0,json:{read:!1}})],u.prototype,"isEmpty",null),t([n({type:Date,json:{write:{allowNull:!0}}})],u.prototype,"start",void 0),t([i("start")],u.prototype,"readStart",null),t([o("start")],u.prototype,"writeStart",null),u=a=t([l("esri.TimeExtent")],u);const m=new u,p=new u({start:void 0,end:void 0}),d=u;export{d as default};
5
+ import{_ as t}from"./chunks/tslib.es6.js";import{JSONSupport as e}from"./core/JSONSupport.js";import{truncateDate as r,offsetDate as s}from"./core/timeUtils.js";import{property as n}from"./core/accessorSupport/decorators/property.js";import"./core/accessorSupport/ensureType.js";import"./core/arrayUtils.js";import"./core/has.js";import{reader as i}from"./core/accessorSupport/decorators/reader.js";import{subclass as l}from"./core/accessorSupport/decorators/subclass.js";import{writer as o}from"./core/accessorSupport/decorators/writer.js";import{system as a}from"./time/timeZoneUtils.js";var u;let m=u=class extends e{static get allTime(){return p}static get empty(){return d}constructor(t){super(t),this.end=null,this.start=null}readEnd(t,e){return null!=e.end?new Date(e.end):null}writeEnd(t,e){e.end=t?.getTime()??null}get isAllTime(){return this.equals(u.allTime)}get isEmpty(){return this.equals(u.empty)}readStart(t,e){return null!=e.start?new Date(e.start):null}writeStart(t,e){e.start=t?.getTime()??null}clone(){return new u({end:this.end,start:this.start})}equals(t){if(!t)return!1;const e=this.start?.getTime()??this.start,r=this.end?.getTime()??this.end,s=t.start?.getTime()??t.start,n=t.end?.getTime()??t.end;return e===s&&r===n}expandTo(t,e=a){if(this.isEmpty||this.isAllTime)return this.clone();let n=this.start;n&&(n=r(n,t,e));let i=this.end;if(i){const n=r(i,t,e);i=i.getTime()===n.getTime()?n:s(n,1,t,e)}return new u({start:n,end:i})}intersection(t){if(!t)return this.clone();if(this.isEmpty||t.isEmpty)return u.empty;if(this.isAllTime)return t.clone();if(t.isAllTime)return this.clone();const e=this.start?.getTime()??-1/0,r=this.end?.getTime()??1/0,s=t.start?.getTime()??-1/0,n=t.end?.getTime()??1/0;let i,l;if(s>=e&&s<=r?i=s:e>=s&&e<=n&&(i=e),r>=s&&r<=n?l=r:n>=e&&n<=r&&(l=n),null!=i&&null!=l&&!isNaN(i)&&!isNaN(l)){const t=new u;return t.start=i===-1/0?null:new Date(i),t.end=l===1/0?null:new Date(l),t}return u.empty}offset(t,e,r=a){if(this.isEmpty||this.isAllTime)return this.clone();const n=new u,{start:i,end:l}=this;return null!=i&&(n.start=s(i,t,e,r)),null!=l&&(n.end=s(l,t,e,r)),n}union(t){if(!t||t.isEmpty)return this.clone();if(this.isEmpty)return t.clone();if(this.isAllTime||t.isAllTime)return p.clone();const e=null!=this.start&&null!=t.start?new Date(Math.min(this.start.getTime(),t.start.getTime())):null,r=null!=this.end&&null!=t.end?new Date(Math.max(this.end.getTime(),t.end.getTime())):null;return new u({start:e,end:r})}};t([n({type:Date,json:{write:{allowNull:!0}}})],m.prototype,"end",void 0),t([i("end")],m.prototype,"readEnd",null),t([o("end")],m.prototype,"writeEnd",null),t([n({readOnly:!0,json:{read:!1}})],m.prototype,"isAllTime",null),t([n({readOnly:!0,json:{read:!1}})],m.prototype,"isEmpty",null),t([n({type:Date,json:{write:{allowNull:!0}}})],m.prototype,"start",void 0),t([i("start")],m.prototype,"readStart",null),t([o("start")],m.prototype,"writeStart",null),m=u=t([l("esri.TimeExtent")],m);const p=new m,d=new m({start:void 0,end:void 0}),c=m;export{c as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import e from"../Dictionary.js";import{ArcadeExecutionError as n,ExecutionErrorCodes as t}from"../executionError.js";import{j as r,c as s,b as a,g as i,o,q as c}from"../../chunks/languageUtils.js";import{assertIsSome as u}from"../../core/maybe.js";const l=e=>(n,t,r)=>(r=r||14,+e(n,t).toFixed(r)),d=(e,n)=>e+n,h=(e,n)=>e-n,m=(e,n)=>e*n,g=(e,n)=>e/n,_=(e,n,t)=>l(d)(e,n,t),f=(e,n,t)=>l(h)(e,n,t),w=(e,n,t)=>l(m)(e,n,t),A=(e,n,t)=>l(g)(e,n,t),D=360,p=400,E=2*Math.PI,T=3600,S=3240,R=60,M=60,F=180*T/Math.PI,v=D*R*M,L=90*T,U=180*T,N=270*T,x=String.fromCharCode(7501),z="°";function O(e){if(!1===s(e))throw new n(null,t.InvalidParameter,null);return e}function G(e,n){const t=10**n;return Math.round(e*t)/t}function I(e,n){return e%n}function b(e){const n=parseFloat(e.toString().replace(Math.trunc(e).toString(),"0"))*Math.sign(e);if(e<0){return{fraction:n,integer:Math.ceil(e)}}return{fraction:n,integer:Math.floor(e)}}var H,y,q,k;function C(e,n){switch(e){case H.north:return"SHORT"===n?"N":"North";case H.east:return"SHORT"===n?"E":"East";case H.south:return"SHORT"===n?"S":"South";case H.west:return"SHORT"===n?"W":"West"}}function P(e,n){return e-Math.floor(e/n)*n}function Q(e){switch(e){case y.truncated_degrees:case y.decimal_degrees:return D;case y.radians:return E;case y.gradians:return p;case y.seconds:return v;case y.fractional_degree_minutes:return R;case y.fractional_minute_seconds:return M;default:throw new n(null,t.LogicError,null,{reason:"unsupported evaluations"})}}function j(e){switch(e.toUpperCase().trim()){case"NORTH":case"NORTHAZIMUTH":case"NORTH AZIMUTH":return q.north_azimuth;case"POLAR":return q.polar;case"QUADRANT":return q.quadrant;case"SOUTH":case"SOUTHAZIMUTH":case"SOUTH AZIMUTH":return q.south_azimuth}throw new n(null,t.LogicError,null,{reason:"unsupported directionType"})}function W(e){switch(e.toUpperCase().trim()){case"D":case"DD":case"DECIMALDEGREE":case"DECIMAL DEGREE":case"DEGREE":case"DECIMALDEGREES":case"DECIMAL DEGREES":case"DEGREES":return y.decimal_degrees;case"DMS":case"DEGREESMINUTESSECONDS":case"DEGREES MINUTES SECONDS":return y.degrees_minutes_seconds;case"R":case"RAD":case"RADS":case"RADIAN":case"RADIANS":return y.radians;case"G":case"GON":case"GONS":case"GRAD":case"GRADS":case"GRADIAN":case"GRADIANS":return y.gradians}throw new n(null,t.LogicError,null,{reason:"unsupported units"})}!function(e){e[e.north=0]="north",e[e.east=1]="east",e[e.south=2]="south",e[e.west=3]="west"}(H||(H={})),function(e){e[e.decimal_degrees=1]="decimal_degrees",e[e.seconds=2]="seconds",e[e.degrees_minutes_seconds=3]="degrees_minutes_seconds",e[e.radians=4]="radians",e[e.gradians=5]="gradians",e[e.truncated_degrees=6]="truncated_degrees",e[e.fractional_degree_minutes=7]="fractional_degree_minutes",e[e.fractional_minute_seconds=8]="fractional_minute_seconds"}(y||(y={})),function(e){e[e.north_azimuth=1]="north_azimuth",e[e.polar=2]="polar",e[e.quadrant=3]="quadrant",e[e.south_azimuth=4]="south_azimuth"}(q||(q={})),function(e){e[e.meridian=0]="meridian",e[e.direction=1]="direction"}(k||(k={}));class Z{constructor(e,n,t){this.m_degrees=e,this.m_minutes=n,this.m_seconds=t}getField(e){switch(e){case y.decimal_degrees:case y.truncated_degrees:return this.m_degrees;case y.fractional_degree_minutes:return this.m_minutes;case y.seconds:case y.fractional_minute_seconds:return this.m_seconds;default:throw new n(null,t.LogicError,null,{reason:"unexpected evaluation"})}}static secondsToDMS(e){const n=b(e).fraction;let t=b(e).integer;const r=Math.floor(t/T);t-=r*T;const s=Math.floor(t/M);return t-=s*M,new Z(r,s,t+n)}static numberToDms(e){const n=b(e).fraction,t=b(e).integer,r=w(b(100*n).fraction,100),s=b(100*n).integer;return new Z(t,s,r)}format(e,n){let t=G(this.m_seconds,n),r=this.m_minutes,s=this.m_degrees;if(e===y.seconds||e===y.fractional_minute_seconds)M<=t&&(t-=M,++r),R<=r&&(r=0,++s),D<=s&&(s=0);else if(e===y.fractional_degree_minutes)t=0,r=30<=this.m_seconds?this.m_minutes+1:this.m_minutes,s=this.m_degrees,R<=r&&(r=0,++s),D<=s&&(s=0);else if(e===y.decimal_degrees||e===y.truncated_degrees){const e=A(this.m_seconds,T),n=A(this.m_minutes,R);s=Math.round(this.m_degrees+n+e),r=0,t=0}return new Z(s,r,t)}static dmsToSeconds(e,n,t){return e*T+n*M+t}}class B{constructor(e,n,t){this.meridian=e,this.angle=n,this.direction=t}fetchAzimuth(e){return e===k.meridian?this.meridian:this.direction}}class V{constructor(e){this._angle=e}static createFromAngleAndDirection(e,n){return new V(new J(V._convertDirectionFormat(e.extractAngularUnits(y.seconds),n,q.north_azimuth)))}getAngle(e){const n=this._angle.extractAngularUnits(y.seconds);switch(e){case q.north_azimuth:case q.south_azimuth:case q.polar:return new J(V._convertDirectionFormat(n,q.north_azimuth,e));case q.quadrant:{const e=V.secondsNorthAzimuthToQuadrant(n);return new J(e.angle)}}}getMeridian(e){const n=this._angle.extractAngularUnits(y.seconds);switch(e){case q.north_azimuth:return H.north;case q.south_azimuth:return H.south;case q.polar:return H.east;case q.quadrant:return V.secondsNorthAzimuthToQuadrant(n).meridian}}getDirection(e){const n=this._angle.extractAngularUnits(y.seconds);switch(e){case q.north_azimuth:return H.east;case q.south_azimuth:return H.west;case q.polar:return H.north;case q.quadrant:return V.secondsNorthAzimuthToQuadrant(n).direction}}static secondsNorthAzimuthToQuadrant(e){const n=e<=L||e>=N?H.north:H.south,t=n===H.north?Math.min(v-e,e):Math.abs(e-U),r=e>U?H.west:H.east;return new B(n,t,r)}static createFromAngleMeridianAndDirection(e,n,t){return new V(new J(V.secondsQuadrantToNorthAzimuth(e.extractAngularUnits(y.seconds),n,t)))}static secondsQuadrantToNorthAzimuth(e,n,t){return n===H.north?t===H.east?e:v-e:t===H.east?U-e:U+e}static _convertDirectionFormat(e,r,s){let a=0;switch(r){case q.north_azimuth:a=e;break;case q.polar:a=L-e;break;case q.quadrant:throw new n(null,t.LogicError,null,{reason:"unexpected evaluation"});case q.south_azimuth:a=e+U}let i=0;switch(s){case q.north_azimuth:i=a;break;case q.polar:i=L-a;break;case q.quadrant:throw new n(null,t.LogicError,null,{reason:"unexpected evaluation"});case q.south_azimuth:i=a-U}return i=I(i,v),i<0?v+i:i}}function X(e,r,s){let a=null;switch(r){case y.decimal_degrees:a=w(e,T);break;case y.seconds:a=e;break;case y.gradians:a=w(e,S);break;case y.radians:a=w(e,F);break;default:throw new n(null,t.LogicError,null,{reason:"unexpected evaluation"})}switch(s){case y.decimal_degrees:return A(a,T);case y.seconds:return a;case y.gradians:return A(a,S);case y.radians:return a/F;default:throw new n(null,t.LogicError,null,{reason:"unexpected evaluation"})}}class J{constructor(e){this._seconds=e}static createFromAngleAndUnits(e,n){return new J(X(e,n,y.seconds))}extractAngularUnits(e){return X(this._seconds,y.seconds,K(e))}static createFromDegreesMinutesSeconds(e,n,t){return new J(_(_(w(e,T),w(n,M)),t))}}function K(e){switch(u(e),e){case y.decimal_degrees:case y.truncated_degrees:case y.degrees_minutes_seconds:return y.decimal_degrees;case y.gradians:return y.gradians;case y.fractional_degree_minutes:return y.fractional_degree_minutes;case y.radians:return y.radians;case y.seconds:case y.fractional_minute_seconds:return y.seconds}}class Y{constructor(e,n,t,r){this.view=e,this.angle=n,this.merdian=t,this.direction=r,this._dms=null,this._formattedDms=null}static createFromStringAndBearing(e,n,t){return new Y(e,n.getAngle(t),n.getMeridian(t),n.getDirection(t))}fetchAngle(){return this.angle}fetchMeridian(){return this.merdian}fetchDirection(){return this.direction}fetchView(){return this.view}fetchDms(){return null===this._dms&&this._calculateDms(),this._dms}fetchFormattedDms(){return null===this._formattedDms&&this._calculateDms(),this._formattedDms}_calculateDms(){let e=null,n=y.truncated_degrees,t=0;for(let r=0;r<this.view.length;r++){const s=this.view[r];switch(s){case"m":e=le(this.view,r,s),n=n===y.truncated_degrees?y.fractional_degree_minutes:n,r=e.newpos;continue;case"s":e=le(this.view,r,s),n=y.fractional_minute_seconds,t=t<e.rounding?e.rounding:t,r=e.newpos;continue;default:continue}}this._dms=Z.secondsToDMS(this.angle.extractAngularUnits(y.seconds)),this._formattedDms=Z.secondsToDMS(this.angle.extractAngularUnits(y.seconds)).format(n,t)}}function $(e,r,s,a,i){let o=null;switch(r){case y.decimal_degrees:case y.radians:case y.gradians:return o=P(G(e.extractAngularUnits(r),a),Q(r)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");case y.truncated_degrees:case y.fractional_degree_minutes:return o=P(i.fetchFormattedDms().getField(r),Q(r)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");case y.fractional_minute_seconds:return o=P(G(i.fetchDms().getField(r),a),Q(r)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");default:throw new n(null,t.LogicError,null,{reason:"unexpected evaluation"})}}function ee(e,r,s){if(s===q.quadrant)throw new n(null,t.LogicError,null,{reason:"conversion error"});if(r===y.degrees_minutes_seconds){const n=Z.numberToDms(e);return V.createFromAngleAndDirection(J.createFromDegreesMinutesSeconds(n.m_degrees,n.m_minutes,n.m_seconds),s)}return V.createFromAngleAndDirection(J.createFromAngleAndUnits(e,K(r)),s)}function ne(e){switch(i(e)){case 1:return{first:H.north,second:H.east};case 2:return{first:H.south,second:H.east};case 3:return{first:H.south,second:H.west};case 4:return{first:H.north,second:H.west}}return null}function te(e){switch(e.toUpperCase().trim()){case"N":case"NORTH":return H.north;case"E":case"EAST":return H.east;case"S":case"SOUTH":return H.south;case"W":case"WEST":return H.west}return null}function re(e){const r=parseFloat(e);if(a(r)){if(isNaN(r))throw new n(null,t.LogicError,null,{reason:"invalid conversion"});return r}throw new n(null,t.LogicError,null,{reason:"invalid conversion"})}function se(e,s,a){const i=a===q.quadrant;let o=null,c=null,u=0,l=0,d=0;if(i){if(e.length<2)throw new n(null,t.LogicError,null,{reason:"conversion error"});d=1;const s=ne(r(e[e.length-1]));if(s?(o=s.first,c=s.second):(u=1,o=te(r(e[0])),c=te(r(e[e.length-1]))),null===o||null===c)throw new n(null,t.LogicError,null,{reason:"invalid conversion"})}switch(s){case y.decimal_degrees:case y.radians:case y.gradians:if(0===e.length)throw new n(null,t.LogicError,null,{reason:"invalid conversion"});return i?V.createFromAngleMeridianAndDirection(J.createFromAngleAndUnits(re(e[u]),K(s)),o,c):V.createFromAngleAndDirection(J.createFromAngleAndUnits(re(e[u]),K(s)),a);case y.degrees_minutes_seconds:if(l=e.length-d-u,3===l){const n=J.createFromDegreesMinutesSeconds(re(e[u]),re(e[u+1]),re(e[u+2]));return i?V.createFromAngleMeridianAndDirection(n,o,c):V.createFromAngleAndDirection(n,a)}if(1===l){const n=re(e[u]),t=Z.numberToDms(n),r=J.createFromDegreesMinutesSeconds(t.m_degrees,t.m_minutes,t.m_seconds);return i?V.createFromAngleMeridianAndDirection(r,o,c):V.createFromAngleAndDirection(r,a)}}throw new n(null,t.LogicError,null,{reason:"invalid conversion"})}function ae(e){const n=[" ","-","/","'",'"',"\\","^",z,x,"\t","\r","\n","*"];let t="";for(let r=0;r<e.length;r++){const s=e.charAt(r);n.includes(s)?t+="RRSPLITRRSPLITRR":t+=s}return t.split("RRSPLITRRSPLITRR").filter((e=>""!==e))}function ie(e,r,u){if(a(e))return ee(i(e),r,u);if(s(e))return se(ae(e),r,u);if(o(e))return se(e,r,u);if(c(e))return se(e.toArray(),r,u);throw new n(null,t.LogicError,null,{reason:"conversion error"})}function oe(e,r,s){const a=K(s);if(a&&s!==y.degrees_minutes_seconds){return e.getAngle(r).extractAngularUnits(a)}throw new n(null,t.LogicError,null,{reason:"conversion error"})}function ce(e,n,t){const r=e.getAngle(n);if(n===q.quadrant&&t===y.degrees_minutes_seconds){const t=Z.secondsToDMS(r.extractAngularUnits(y.seconds));return[C(e.getMeridian(n),"SHORT"),t.m_degrees,t.m_minutes,t.m_seconds,C(e.getDirection(n),"SHORT")]}if(t===y.degrees_minutes_seconds){const e=Z.secondsToDMS(r.extractAngularUnits(y.seconds));return[e.m_degrees,e.m_minutes,e.m_seconds]}return n===q.quadrant?[C(e.getMeridian(n),"SHORT"),r.extractAngularUnits(t),C(e.getDirection(n),"SHORT")]:[r.extractAngularUnits(t)]}function ue(e,r){let s="";switch(e){case y.decimal_degrees:s=r===q.quadrant?"DD.DD"+z:"DDD.DD"+z;break;case y.degrees_minutes_seconds:s=r===q.quadrant?"dd"+z+" mm' ss\"":"ddd"+z+" mm' ss.ss\"";break;case y.radians:s="R.RR";break;case y.gradians:s="GGG.GG"+x;break;default:throw new n(null,t.LogicError,null,{reason:"conversion error"})}return r===q.quadrant&&(s="p "+s+" b"),s}function le(e,n,t){const r={padding:0,rounding:0,newpos:n};let s=!1;for(;n<e.length;){const a=e[n];if(a===t)s?r.rounding++:r.padding++,n++;else{if("."!==a)break;s=!0,n++}}return r.newpos=n-1,r}function de(e,n,t){const r={escaped:"",newpos:n};for(n++;n<e.length;){const t=e[n];if(n++,"]"===t)break;r.escaped+=t}return r.newpos=n-1,r}function he(e,n,t){let r="",s=null,a=null;const i=Y.createFromStringAndBearing(n,e,t),o={D:y.decimal_degrees,d:y.truncated_degrees,m:y.fractional_degree_minutes,s:y.fractional_minute_seconds,R:y.radians,G:y.gradians};for(let c=0;c<n.length;c++){const u=n[c];switch(u){case"[":s=de(n,c),r+=s.escaped,c=s.newpos;continue;case"D":case"d":case"m":case"s":case"R":case"G":s=le(n,c,u),a=e.getAngle(t),r+=$(a,o[u],s.padding,s.rounding,i),c=s.newpos;continue;case"P":case"p":r+=C(i.fetchMeridian(),"p"===u?"SHORT":"LONG");continue;case"B":case"b":r+=C(i.fetchDirection(),"b"===u?"SHORT":"LONG");continue;default:r+=u}}return r}function me(s,a,i){if(!(a instanceof e))throw new n(null,t.InvalidParameter,null);if(!1===a.hasField("directionType"))throw new n(null,t.LogicError,null,{reason:"missing directionType"});if(!1===a.hasField("angleType"))throw new n(null,t.LogicError,null,{reason:"missing angleType"});const o=j(O(a.field("directiontype"))),c=ie(s,W(O(a.field("angletype"))),o);if(!(i instanceof e))throw new n(null,t.InvalidParameter,null);if(!1===i.hasField("directionType"))throw new n(null,t.LogicError,null,{reason:"missing directionType"});if(!1===i.hasField("outputType"))throw new n(null,t.LogicError,null,{reason:"missing angleType"});const u=j(O(i.field("directiontype"))),l=i.hasField("angleType")?W(O(i.field("angletype"))):null,d=O(i.field("outputType")).toUpperCase().trim();if(!u||!d)throw new n(null,t.LogicError,null,{reason:"conversion error"});if(!(l||"TEXT"===d&&i.hasField("format")))throw new n(null,t.LogicError,null,{reason:"invalid unit"});switch(d){case"VALUE":return u===q.quadrant||l===y.degrees_minutes_seconds?ce(c,u,l):oe(c,u,l);case"TEXT":{let e="";return i.hasField("format")&&(e=r(i.field("format"))),null!==e&&""!==e||(e=ue(l,u)),he(c,e,u)}default:throw new n(null,t.InvalidParameter,null)}}export{me as convertDirection,_ as preciseAdd,A as preciseDivide,f as preciseMinus,w as preciseMultiply};
5
+ import e from"../Dictionary.js";import{ArcadeExecutionError as n,ExecutionErrorCodes as t}from"../executionError.js";import{j as r,c as s,b as a,g as i,o,q as c}from"../../chunks/languageUtils.js";import{assertIsSome as u}from"../../core/maybe.js";const l=e=>(n,t,r)=>(r=r||14,+e(n,t).toFixed(r)),d=(e,n)=>e+n,h=(e,n)=>e-n,m=(e,n)=>e*n,g=(e,n)=>e/n,_=(e,n,t)=>l(d)(e,n,t),f=(e,n,t)=>l(h)(e,n,t),w=(e,n,t)=>l(m)(e,n,t),A=(e,n,t)=>l(g)(e,n,t),D=360,p=400,E=2*Math.PI,T=3600,S=3240,R=60,M=60,F=180*T/Math.PI,v=D*R*M,L=90*T,U=180*T,N=270*T,x=String.fromCharCode(7501),z="°";function O(e){if(!1===s(e))throw new n(null,t.InvalidParameter,null);return e}function G(e,n){const t=10**n;return Math.round(e*t)/t}function I(e,n){return e%n}function b(e){const n=parseFloat(e.toString().replace(Math.trunc(e).toString(),"0"))*Math.sign(e);if(e<0){return{fraction:n,integer:Math.ceil(e)}}return{fraction:n,integer:Math.floor(e)}}var H,y,q,k;function C(e,n){switch(e){case H.north:return"SHORT"===n?"N":"North";case H.east:return"SHORT"===n?"E":"East";case H.south:return"SHORT"===n?"S":"South";case H.west:return"SHORT"===n?"W":"West"}}function P(e,n){return e-Math.floor(e/n)*n}function Q(e){switch(e){case y.truncated_degrees:case y.decimal_degrees:return D;case y.radians:return E;case y.gradians:return p;case y.seconds:return v;case y.fractional_degree_minutes:return R;case y.fractional_minute_seconds:return M;default:throw new n(null,t.LogicError,null,{reason:"unsupported evaluations"})}}function j(e){switch(e.toUpperCase().trim()){case"NORTH":case"NORTHAZIMUTH":case"NORTH AZIMUTH":return q.north_azimuth;case"POLAR":return q.polar;case"QUADRANT":return q.quadrant;case"SOUTH":case"SOUTHAZIMUTH":case"SOUTH AZIMUTH":return q.south_azimuth}throw new n(null,t.LogicError,null,{reason:"unsupported directionType"})}function W(e){switch(e.toUpperCase().trim()){case"D":case"DD":case"DECIMALDEGREE":case"DECIMAL DEGREE":case"DEGREE":case"DECIMALDEGREES":case"DECIMAL DEGREES":case"DEGREES":return y.decimal_degrees;case"DMS":case"DEGREESMINUTESSECONDS":case"DEGREES MINUTES SECONDS":return y.degrees_minutes_seconds;case"R":case"RAD":case"RADS":case"RADIAN":case"RADIANS":return y.radians;case"G":case"GON":case"GONS":case"GRAD":case"GRADS":case"GRADIAN":case"GRADIANS":return y.gradians}throw new n(null,t.LogicError,null,{reason:"unsupported units"})}!function(e){e[e.north=0]="north",e[e.east=1]="east",e[e.south=2]="south",e[e.west=3]="west"}(H||(H={})),function(e){e[e.decimal_degrees=1]="decimal_degrees",e[e.seconds=2]="seconds",e[e.degrees_minutes_seconds=3]="degrees_minutes_seconds",e[e.radians=4]="radians",e[e.gradians=5]="gradians",e[e.truncated_degrees=6]="truncated_degrees",e[e.fractional_degree_minutes=7]="fractional_degree_minutes",e[e.fractional_minute_seconds=8]="fractional_minute_seconds"}(y||(y={})),function(e){e[e.north_azimuth=1]="north_azimuth",e[e.polar=2]="polar",e[e.quadrant=3]="quadrant",e[e.south_azimuth=4]="south_azimuth"}(q||(q={})),function(e){e[e.meridian=0]="meridian",e[e.direction=1]="direction"}(k||(k={}));class Z{constructor(e,n,t){this.m_degrees=e,this.m_minutes=n,this.m_seconds=t}getField(e){switch(e){case y.decimal_degrees:case y.truncated_degrees:return this.m_degrees;case y.fractional_degree_minutes:return this.m_minutes;case y.seconds:case y.fractional_minute_seconds:return this.m_seconds;default:throw new n(null,t.LogicError,null,{reason:"unexpected evaluation"})}}static secondsToDMS(e){const n=b(e).fraction;let t=b(e).integer;const r=Math.floor(t/T);t-=r*T;const s=Math.floor(t/M);return t-=s*M,new Z(r,s,t+n)}static numberToDms(e){const n=b(e).fraction,t=b(e).integer,r=w(b(100*n).fraction,100),s=b(100*n).integer;return new Z(t,s,r)}format(e,n){let t=G(this.m_seconds,n),r=this.m_minutes,s=this.m_degrees;if(e===y.seconds||e===y.fractional_minute_seconds)M<=t&&(t-=M,++r),R<=r&&(r=0,++s),D<=s&&(s=0);else if(e===y.fractional_degree_minutes)t=0,r=30<=this.m_seconds?this.m_minutes+1:this.m_minutes,s=this.m_degrees,R<=r&&(r=0,++s),D<=s&&(s=0);else if(e===y.decimal_degrees||e===y.truncated_degrees){const e=A(this.m_seconds,T),n=A(this.m_minutes,R);s=Math.round(this.m_degrees+n+e),r=0,t=0}return new Z(s,r,t)}static dmsToSeconds(e,n,t){return e*T+n*M+t}}class B{constructor(e,n,t){this.meridian=e,this.angle=n,this.direction=t}fetchAzimuth(e){return e===k.meridian?this.meridian:this.direction}}class V{constructor(e){this._angle=e}static createFromAngleAndDirection(e,n){return new V(new J(V._convertDirectionFormat(e.extractAngularUnits(y.seconds),n,q.north_azimuth)))}getAngle(e){const n=this._angle.extractAngularUnits(y.seconds);switch(e){case q.north_azimuth:case q.south_azimuth:case q.polar:return new J(V._convertDirectionFormat(n,q.north_azimuth,e));case q.quadrant:{const e=V.secondsNorthAzimuthToQuadrant(n);return new J(e.angle)}}}getMeridian(e){const n=this._angle.extractAngularUnits(y.seconds);switch(e){case q.north_azimuth:return H.north;case q.south_azimuth:return H.south;case q.polar:return H.east;case q.quadrant:return V.secondsNorthAzimuthToQuadrant(n).meridian}}getDirection(e){const n=this._angle.extractAngularUnits(y.seconds);switch(e){case q.north_azimuth:return H.east;case q.south_azimuth:return H.west;case q.polar:return H.north;case q.quadrant:return V.secondsNorthAzimuthToQuadrant(n).direction}}static secondsNorthAzimuthToQuadrant(e){const n=e<=L||e>=N?H.north:H.south,t=n===H.north?Math.min(v-e,e):Math.abs(e-U),r=e>U?H.west:H.east;return new B(n,t,r)}static createFromAngleMeridianAndDirection(e,n,t){return new V(new J(V.secondsQuadrantToNorthAzimuth(e.extractAngularUnits(y.seconds),n,t)))}static secondsQuadrantToNorthAzimuth(e,n,t){return n===H.north?t===H.east?e:v-e:t===H.east?U-e:U+e}static _convertDirectionFormat(e,r,s){let a=0;switch(r){case q.north_azimuth:a=e;break;case q.polar:a=L-e;break;case q.quadrant:throw new n(null,t.LogicError,null,{reason:"unexpected evaluation"});case q.south_azimuth:a=e+U}let i=0;switch(s){case q.north_azimuth:i=a;break;case q.polar:i=L-a;break;case q.quadrant:throw new n(null,t.LogicError,null,{reason:"unexpected evaluation"});case q.south_azimuth:i=a-U}return i=I(i,v),i<0?v+i:i}}function X(e,r,s){let a=null;switch(r){case y.decimal_degrees:a=w(e,T);break;case y.seconds:a=e;break;case y.gradians:a=w(e,S);break;case y.radians:a=w(e,F);break;default:throw new n(null,t.LogicError,null,{reason:"unexpected evaluation"})}switch(s){case y.decimal_degrees:return A(a,T);case y.seconds:return a;case y.gradians:return A(a,S);case y.radians:return a/F;default:throw new n(null,t.LogicError,null,{reason:"unexpected evaluation"})}}class J{constructor(e){this._seconds=e}static createFromAngleAndUnits(e,n){return new J(X(e,n,y.seconds))}extractAngularUnits(e){return X(this._seconds,y.seconds,K(e))}static createFromDegreesMinutesSeconds(e,n,t){return new J(_(_(w(e,T),w(n,M)),t))}}function K(e){switch(u(e),e){case y.decimal_degrees:case y.truncated_degrees:case y.degrees_minutes_seconds:return y.decimal_degrees;case y.gradians:return y.gradians;case y.fractional_degree_minutes:return y.fractional_degree_minutes;case y.radians:return y.radians;case y.seconds:case y.fractional_minute_seconds:return y.seconds}}class Y{constructor(e,n,t,r){this.view=e,this.angle=n,this.merdian=t,this.direction=r,this._dms=null,this._formattedDms=null}static createFromStringAndBearing(e,n,t){return new Y(e,n.getAngle(t),n.getMeridian(t),n.getDirection(t))}fetchAngle(){return this.angle}fetchMeridian(){return this.merdian}fetchDirection(){return this.direction}fetchView(){return this.view}fetchDms(){return null===this._dms&&this._calculateDms(),this._dms}fetchFormattedDms(){return null===this._formattedDms&&this._calculateDms(),this._formattedDms}_calculateDms(){let e=null,n=y.truncated_degrees,t=0;for(let r=0;r<this.view.length;r++){const s=this.view[r];switch(s){case"m":e=le(this.view,r,s),n=n===y.truncated_degrees?y.fractional_degree_minutes:n,r=e.newpos;continue;case"s":e=le(this.view,r,s),n=y.fractional_minute_seconds,t=t<e.rounding?e.rounding:t,r=e.newpos;continue;default:continue}}this._dms=Z.secondsToDMS(this.angle.extractAngularUnits(y.seconds)),this._formattedDms=Z.secondsToDMS(this.angle.extractAngularUnits(y.seconds)).format(n,t)}}function $(e,r,s,a,i){let o=null;switch(r){case y.decimal_degrees:case y.radians:case y.gradians:return o=P(G(e.extractAngularUnits(r),a),Q(r)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");case y.truncated_degrees:case y.fractional_degree_minutes:return o=P(i.fetchFormattedDms().getField(r),Q(r)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");case y.fractional_minute_seconds:return o=P(G(i.fetchDms().getField(r),a),Q(r)),o.toFixed(a).padStart(s+a+(a>0?1:0),"0");default:throw new n(null,t.LogicError,null,{reason:"unexpected evaluation"})}}function ee(e,r,s){if(s===q.quadrant)throw new n(null,t.LogicError,null,{reason:"conversion error"});if(r===y.degrees_minutes_seconds){const n=Z.numberToDms(e);return V.createFromAngleAndDirection(J.createFromDegreesMinutesSeconds(n.m_degrees,n.m_minutes,n.m_seconds),s)}return V.createFromAngleAndDirection(J.createFromAngleAndUnits(e,K(r)),s)}function ne(e){switch(i(e)){case 1:return{first:H.north,second:H.east};case 2:return{first:H.south,second:H.east};case 3:return{first:H.south,second:H.west};case 4:return{first:H.north,second:H.west}}return null}function te(e){switch(e.toUpperCase().trim()){case"N":case"NORTH":return H.north;case"E":case"EAST":return H.east;case"S":case"SOUTH":return H.south;case"W":case"WEST":return H.west}return null}function re(e){const r=parseFloat(e);if(a(r)){if(isNaN(r))throw new n(null,t.LogicError,null,{reason:"invalid conversion"});return r}throw new n(null,t.LogicError,null,{reason:"invalid conversion"})}function se(e,s,a){const i=a===q.quadrant;let o=null,c=null,u=0,l=0,d=0;if(i){if(e.length<2)throw new n(null,t.LogicError,null,{reason:"conversion error"});d=1;const s=ne(r(e[e.length-1]));if(s?(o=s.first,c=s.second):(u=1,o=te(r(e[0])),c=te(r(e[e.length-1]))),null===o||null===c)throw new n(null,t.LogicError,null,{reason:"invalid conversion"})}switch(s){case y.decimal_degrees:case y.radians:case y.gradians:if(0===e.length)throw new n(null,t.LogicError,null,{reason:"invalid conversion"});return i?V.createFromAngleMeridianAndDirection(J.createFromAngleAndUnits(re(e[u]),K(s)),o,c):V.createFromAngleAndDirection(J.createFromAngleAndUnits(re(e[u]),K(s)),a);case y.degrees_minutes_seconds:if(l=e.length-d-u,3===l){const n=J.createFromDegreesMinutesSeconds(re(e[u]),re(e[u+1]),re(e[u+2]));return i?V.createFromAngleMeridianAndDirection(n,o,c):V.createFromAngleAndDirection(n,a)}if(1===l){const n=re(e[u]),t=Z.numberToDms(n),r=J.createFromDegreesMinutesSeconds(t.m_degrees,t.m_minutes,t.m_seconds);return i?V.createFromAngleMeridianAndDirection(r,o,c):V.createFromAngleAndDirection(r,a)}}throw new n(null,t.LogicError,null,{reason:"invalid conversion"})}function ae(e){const n=new Set([" ","-","/","'",'"',"\\","^",z,x,"\t","\r","\n","*"]);let t="";for(let r=0;r<e.length;r++){const s=e.charAt(r);n.has(s)?t+="RRSPLITRRSPLITRR":t+=s}return t.split("RRSPLITRRSPLITRR").filter((e=>""!==e))}function ie(e,r,u){if(a(e))return ee(i(e),r,u);if(s(e))return se(ae(e),r,u);if(o(e))return se(e,r,u);if(c(e))return se(e.toArray(),r,u);throw new n(null,t.LogicError,null,{reason:"conversion error"})}function oe(e,r,s){const a=K(s);if(a&&s!==y.degrees_minutes_seconds){return e.getAngle(r).extractAngularUnits(a)}throw new n(null,t.LogicError,null,{reason:"conversion error"})}function ce(e,n,t){const r=e.getAngle(n);if(n===q.quadrant&&t===y.degrees_minutes_seconds){const t=Z.secondsToDMS(r.extractAngularUnits(y.seconds));return[C(e.getMeridian(n),"SHORT"),t.m_degrees,t.m_minutes,t.m_seconds,C(e.getDirection(n),"SHORT")]}if(t===y.degrees_minutes_seconds){const e=Z.secondsToDMS(r.extractAngularUnits(y.seconds));return[e.m_degrees,e.m_minutes,e.m_seconds]}return n===q.quadrant?[C(e.getMeridian(n),"SHORT"),r.extractAngularUnits(t),C(e.getDirection(n),"SHORT")]:[r.extractAngularUnits(t)]}function ue(e,r){let s="";switch(e){case y.decimal_degrees:s=r===q.quadrant?"DD.DD"+z:"DDD.DD"+z;break;case y.degrees_minutes_seconds:s=r===q.quadrant?"dd"+z+" mm' ss\"":"ddd"+z+" mm' ss.ss\"";break;case y.radians:s="R.RR";break;case y.gradians:s="GGG.GG"+x;break;default:throw new n(null,t.LogicError,null,{reason:"conversion error"})}return r===q.quadrant&&(s="p "+s+" b"),s}function le(e,n,t){const r={padding:0,rounding:0,newpos:n};let s=!1;for(;n<e.length;){const a=e[n];if(a===t)s?r.rounding++:r.padding++,n++;else{if("."!==a)break;s=!0,n++}}return r.newpos=n-1,r}function de(e,n,t){const r={escaped:"",newpos:n};for(n++;n<e.length;){const t=e[n];if(n++,"]"===t)break;r.escaped+=t}return r.newpos=n-1,r}function he(e,n,t){let r="",s=null,a=null;const i=Y.createFromStringAndBearing(n,e,t),o={D:y.decimal_degrees,d:y.truncated_degrees,m:y.fractional_degree_minutes,s:y.fractional_minute_seconds,R:y.radians,G:y.gradians};for(let c=0;c<n.length;c++){const u=n[c];switch(u){case"[":s=de(n,c),r+=s.escaped,c=s.newpos;continue;case"D":case"d":case"m":case"s":case"R":case"G":s=le(n,c,u),a=e.getAngle(t),r+=$(a,o[u],s.padding,s.rounding,i),c=s.newpos;continue;case"P":case"p":r+=C(i.fetchMeridian(),"p"===u?"SHORT":"LONG");continue;case"B":case"b":r+=C(i.fetchDirection(),"b"===u?"SHORT":"LONG");continue;default:r+=u}}return r}function me(s,a,i){if(!(a instanceof e))throw new n(null,t.InvalidParameter,null);if(!1===a.hasField("directionType"))throw new n(null,t.LogicError,null,{reason:"missing directionType"});if(!1===a.hasField("angleType"))throw new n(null,t.LogicError,null,{reason:"missing angleType"});const o=j(O(a.field("directiontype"))),c=ie(s,W(O(a.field("angletype"))),o);if(!(i instanceof e))throw new n(null,t.InvalidParameter,null);if(!1===i.hasField("directionType"))throw new n(null,t.LogicError,null,{reason:"missing directionType"});if(!1===i.hasField("outputType"))throw new n(null,t.LogicError,null,{reason:"missing angleType"});const u=j(O(i.field("directiontype"))),l=i.hasField("angleType")?W(O(i.field("angletype"))):null,d=O(i.field("outputType")).toUpperCase().trim();if(!u||!d)throw new n(null,t.LogicError,null,{reason:"conversion error"});if(!(l||"TEXT"===d&&i.hasField("format")))throw new n(null,t.LogicError,null,{reason:"invalid unit"});switch(d){case"VALUE":return u===q.quadrant||l===y.degrees_minutes_seconds?ce(c,u,l):oe(c,u,l);case"TEXT":{let e="";return i.hasField("format")&&(e=r(i.field("format"))),null!==e&&""!==e||(e=ue(l,u)),he(c,e,u)}default:throw new n(null,t.InvalidParameter,null)}}export{me as convertDirection,_ as preciseAdd,A as preciseDivide,f as preciseMinus,w as preciseMultiply};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- const e={all:{min:2,max:2},time:{min:0,max:4},dateonly:{min:0,max:3},getenvironment:{min:0,max:0},none:{min:2,max:2},any:{min:2,max:2},reduce:{min:2,max:3},map:{min:2,max:2},filter:{min:2,max:2},fromcodepoint:{min:1,max:-1},fromcharcode:{min:1,max:-1},tocodepoint:{min:1,max:2},tocharcode:{min:1,max:2},concatenate:{min:0,max:-1},expects:{min:1,max:-1},getfeatureset:{min:1,max:2},week:{min:1,max:2},fromjson:{min:1,max:1},length3d:{min:1,max:2},tohex:{min:1,max:1},hash:{min:1,max:1},timezone:{min:1,max:1},timezoneoffset:{min:1,max:1},changetimezone:{min:2,max:2},isoweek:{min:1,max:1},isoweekday:{min:1,max:1},hasvalue:{min:2,max:2},isomonth:{min:1,max:1},isoyear:{min:1,max:1},resize:{min:2,max:3},slice:{min:0,max:-1},splice:{min:0,max:-1},push:{min:2,max:2},pop:{min:1,max:1},includes:{min:2,max:2},array:{min:0,max:2},front:{min:1,max:1},back:{min:1,max:1},insert:{min:3,max:3},erase:{min:2,max:2},split:{min:2,max:4},guid:{min:0,max:1},standardizeguid:{min:2,max:2},today:{min:0,max:0},angle:{min:2,max:3},bearing:{min:2,max:3},urlencode:{min:1,max:1},now:{min:0,max:0},timestamp:{min:0,max:0},day:{min:1,max:1},month:{min:1,max:1},year:{min:1,max:1},hour:{min:1,max:1},second:{min:1,max:1},millisecond:{min:1,max:1},minute:{min:1,max:1},weekday:{min:1,max:1},toutc:{min:1,max:1},tolocal:{min:1,max:1},date:{min:0,max:8},datediff:{min:2,max:4},dateadd:{min:2,max:3},trim:{min:1,max:1},text:{min:1,max:2},left:{min:2,max:2},right:{min:2,max:2},mid:{min:2,max:3},upper:{min:1,max:1},proper:{min:1,max:2},lower:{min:1,max:1},find:{min:2,max:3},iif:{min:3,max:3},decode:{min:2,max:-1},when:{min:2,max:-1},defaultvalue:{min:2,max:2},isempty:{min:1,max:1},domaincode:{min:2,max:4},domainname:{min:2,max:4},polygon:{min:1,max:1},point:{min:1,max:1},polyline:{min:1,max:1},extent:{min:1,max:1},multipoint:{min:1,max:1},ringisclockwise:{min:1,max:1},geometry:{min:1,max:1},count:{min:0,max:-1},number:{min:1,max:2},acos:{min:1,max:1},asin:{min:1,max:1},atan:{min:1,max:1},atan2:{min:2,max:2},ceil:{min:1,max:2},floor:{min:1,max:2},round:{min:1,max:2},cos:{min:1,max:1},exp:{min:1,max:1},log:{min:1,max:1},min:{min:0,max:-1},constrain:{min:3,max:3},console:{min:0,max:-1},max:{min:0,max:-1},pow:{min:2,max:2},random:{min:0,max:0},sqrt:{min:1,max:1},sin:{min:1,max:1},tan:{min:1,max:1},abs:{min:1,max:1},isnan:{min:1,max:1},stdev:{min:0,max:-1},average:{min:0,max:-1},mean:{min:0,max:-1},sum:{min:0,max:-1},variance:{min:0,max:-1},distinct:{min:0,max:-1},first:{min:1,max:1},top:{min:2,max:2},boolean:{min:1,max:1},dictionary:{min:0,max:-1},typeof:{min:1,max:1},reverse:{min:1,max:1},replace:{min:3,max:4},sort:{min:1,max:2},feature:{min:1,max:-1},haskey:{min:2,max:2},indexof:{min:2,max:2},disjoint:{min:2,max:2},intersects:{min:2,max:2},touches:{min:2,max:2},crosses:{min:2,max:2},within:{min:2,max:2},contains:{min:2,max:2},overlaps:{min:2,max:2},equals:{min:2,max:2},relate:{min:3,max:3},intersection:{min:2,max:2},union:{min:1,max:2},difference:{min:2,max:2},symmetricdifference:{min:2,max:2},clip:{min:2,max:2},cut:{min:2,max:2},area:{min:1,max:2},areageodetic:{min:1,max:2},length:{min:1,max:2},lengthgeodetic:{min:1,max:2},distancegeodetic:{min:2,max:3},distance:{min:2,max:3},densify:{min:2,max:3},densifygeodetic:{min:2,max:3},generalize:{min:2,max:4},buffer:{min:2,max:3},buffergeodetic:{min:2,max:3},offset:{min:2,max:6},rotate:{min:2,max:3},issimple:{min:1,max:1},simplify:{min:1,max:1},convexhull:{min:1,max:1},centroid:{min:1,max:1},nearestcoordinate:{min:2,max:2},nearestvertex:{min:2,max:2},isselfintersecting:{min:1,max:1},multiparttosinglepart:{min:1,max:1},setgeometry:{min:2,max:2},portal:{min:1,max:1},getuser:{min:0,max:2},subtypes:{min:1,max:1},subtypecode:{min:1,max:1},subtypename:{min:1,max:1},domain:{min:2,max:3},convertdirection:{min:3,max:3},sqltimestamp:{min:1,max:3},schema:{min:1,max:1}},n={functionDefinitions:new Map,constantDefinitions:new Map},a={functionDefinitions:new Map,constantDefinitions:new Map};for(const b of["pi","infinity"])a.constantDefinitions.set(b,{type:"constant"}),n.constantDefinitions.set(b,{type:"constant"});a.constantDefinitions.set("textformatting",{type:"namespace",key:"textformatting",members:[{key:"backwardslash",type:"constant"},{key:"doublequote",type:"constant"},{key:"forwardslash",type:"constant"},{key:"tab",type:"constant"},{key:"singlequote",type:"constant"},{key:"newline",type:"constant"}]}),n.constantDefinitions.set("textformatting",{type:"namespace",key:"textformatting",members:[{key:"backwardslash",type:"constant"},{key:"tab",type:"constant"},{key:"singlequote",type:"constant"},{key:"doublequote",type:"constant"},{key:"forwardslash",type:"constant"},{key:"newline",type:"constant"}]});for(const b in e){const t=e[b];a.functionDefinitions.set(b,{overloads:[{type:"function",parametersInfo:{min:t.min,max:t.max}}]}),n.functionDefinitions.set(b,{overloads:[{type:"function",parametersInfo:{min:t.min,max:t.max}}]})}const t=["featureset","featuresetbyid","featuresetbyname","featuresetbyassociation","featuresetbyrelationshipname","featuresetbyurl","getfeatureset","getuser","attachments","featuresetbyportalitem"],m=["disjoint","intersects","touches","crosses","within","contains","overlaps","equals","relate","intersection","nearestvertex","nearestcoordinate","union","difference","symmetricdifference","clip","cut","area","areageodetic","length","length3d","lengthgeodetic","distance","distancegeodetic","densify","densifygeodetic","generalize","buffer","buffergeodetic","offset","rotate","issimple","convexhull","simplify","multiparttosinglepart"];function i(e){return"string"==typeof e||e instanceof String}function o(e,t){const m="sync"===t?n:a;m.functionDefinitions.has(e.name.toLowerCase())?m.functionDefinitions.get(e.name.toLowerCase())?.overloads.push({type:"function",parametersInfo:{min:e.min,max:e.max}}):m.functionDefinitions.set(e.name.toLowerCase(),{overloads:[{type:"function",parametersInfo:{min:e.min,max:e.max}}]})}function s(e,n){if(e)for(const a of e)r(a,n)}function r(e,n){if(e&&!1!==n(e))switch(e.type){case"ImportDeclaration":s(e.specifiers,n),r(e.source,n);break;case"ExportNamedDeclaration":r(e.declaration,n);break;case"ArrayExpression":s(e.elements,n);break;case"AssignmentExpression":case"BinaryExpression":case"LogicalExpression":r(e.left,n),r(e.right,n);break;case"BlockStatement":case"Program":s(e.body,n);break;case"BreakStatement":case"ContinueStatement":case"EmptyStatement":case"Identifier":case"Literal":break;case"CallExpression":r(e.callee,n),s(e.arguments,n);break;case"ExpressionStatement":r(e.expression,n);break;case"ForInStatement":r(e.left,n),r(e.right,n),r(e.body,n);break;case"ForStatement":r(e.init,n),r(e.test,n),r(e.update,n),r(e.body,n);break;case"WhileStatement":r(e.test,n),r(e.body,n);break;case"FunctionDeclaration":r(e.id,n),s(e.params,n),r(e.body,n);break;case"IfStatement":r(e.test,n),r(e.consequent,n),r(e.alternate,n);break;case"MemberExpression":r(e.object,n),r(e.property,n);break;case"ObjectExpression":s(e.properties,n);break;case"Property":r(e.key,n),r(e.value,n);break;case"ReturnStatement":case"UnaryExpression":case"UpdateExpression":r(e.argument,n);break;case"VariableDeclaration":s(e.declarations,n);break;case"VariableDeclarator":r(e.id,n),r(e.init,n);break;case"TemplateLiteral":s(e.expressions,n),s(e.quasis,n)}}function c(e,n){let a=!1;const t=n.toLowerCase();return r(e,(e=>!a&&("Identifier"===e.type&&e.name&&e.name.toLowerCase()===t&&(a=!0),!0))),a}function x(e){const n=[];return r(e,(e=>("ImportDeclaration"===e.type&&e.source&&e.source.value&&n.push({libname:e.specifiers[0].local.name.toLowerCase(),source:e.source.value}),!0))),n}function p(e,n){let a=!1;const t=n.toLowerCase();return r(e,(e=>!a&&("CallExpression"!==e.type||"Identifier"!==e.callee.type||!e.callee.name||e.callee.name.toLowerCase()!==t||(a=!0,!1)))),a}function l(e){const n=[];return r(e,(e=>"MemberExpression"!==e.type||"Identifier"!==e.object.type||(!1===e.computed&&e.object&&e.object.name&&e.property&&"Identifier"===e.property.type&&e.property.name?n.push(e.object.name.toLowerCase()+"."+e.property.name.toLowerCase()):e.object&&e.object.name&&e.property&&"Literal"===e.property.type&&"string"==typeof e.property.value&&n.push(e.object.name.toLowerCase()+"."+e.property.value?.toString().toLowerCase()),!1))),n}function u(e){const n=[];return r(e,(e=>{if("CallExpression"===e.type){if("Identifier"===e.callee.type&&"expects"===e.callee.name.toLowerCase()){let a="";for(let t=0;t<(e.arguments||[]).length;t++)0===t?"Identifier"===e.arguments[t].type&&(a=e.arguments[t].name.toLowerCase()):a&&"Literal"===e.arguments[t].type&&i(e.arguments[t].value)&&n.push(a+"."+e.arguments[t].value.toLowerCase());return!1}if("Identifier"===e.callee.type&&["domainname","domaincode","domain","haskey"].includes(e.callee.name.toLowerCase())&&e.arguments.length>=2){let a="";return"Identifier"===e.arguments[0].type&&(a=e.arguments[0].name.toLowerCase()),a&&"Literal"===e.arguments[1].type&&i(e.arguments[1].value)&&n.push(a+"."+e.arguments[1].value.toLowerCase()),!1}}return"MemberExpression"!==e.type||"Identifier"!==e.object.type||(!1===e.computed&&e.object&&e.object.name&&e.property&&"Identifier"===e.property.type&&e.property.name?n.push(e.object.name.toLowerCase()+"."+e.property.name.toLowerCase()):e.object&&e.object.name&&e.property&&"Literal"===e.property.type&&"string"==typeof e.property.value&&n.push(e.object.name.toLowerCase()+"."+e.property.value?.toString().toLowerCase()),!1)})),n}function f(e,n){const a=[];if(void 0!==n.params&&null!==n.params)for(let t=0;t<n.params.length;t++)a.push("any");return{name:e,return:"any",params:a}}function y(e){const n=[];return r(e,(e=>("CallExpression"===e.type&&"Identifier"===e.callee.type&&n.push(e.callee.name.toLowerCase()),!0))),n}function d(e,n=[]){let a=null;if(void 0===e.usesFeatureSet){null===a&&(a=y(e)),e.usesFeatureSet=!1;for(let n=0;n<a.length;n++)t.includes(a[n])&&(e.usesFeatureSet=!0,e.isAsync=!0);if(!1===e.usesFeatureSet&&n&&n.length>0)for(const a of n)if(c(e,a)){e.usesFeatureSet=!0,e.isAsync=!0;break}}if(void 0===e.usesModules){e.usesModules=!1;x(e).length>0&&(e.usesModules=!0)}if(void 0===e.usesGeometry){e.usesGeometry=!1,null===a&&(a=y(e));for(let n=0;n<a.length;n++)m.includes(a[n])&&(e.usesGeometry=!0)}}function g(e){const n=y(e);for(let a=0;a<n.length;a++)if(t.includes(n[a]))return!0;return!1}export{o as addFunctionDeclaration,f as extractFunctionDeclaration,u as findExpectedFieldLiterals,l as findFieldLiterals,y as findFunctionCalls,x as findModuleImports,d as findScriptDependencies,a as fullArcadeApiAsync,n as fullArcadeApiSync,p as referencesFunction,c as referencesMember,g as scriptUsesFeatureSet,r as walk};
5
+ const e={all:{min:2,max:2},time:{min:0,max:4},dateonly:{min:0,max:3},getenvironment:{min:0,max:0},none:{min:2,max:2},any:{min:2,max:2},reduce:{min:2,max:3},map:{min:2,max:2},filter:{min:2,max:2},fromcodepoint:{min:1,max:-1},fromcharcode:{min:1,max:-1},tocodepoint:{min:1,max:2},tocharcode:{min:1,max:2},concatenate:{min:0,max:-1},expects:{min:1,max:-1},getfeatureset:{min:1,max:2},week:{min:1,max:2},fromjson:{min:1,max:1},length3d:{min:1,max:2},tohex:{min:1,max:1},hash:{min:1,max:1},timezone:{min:1,max:1},timezoneoffset:{min:1,max:1},changetimezone:{min:2,max:2},isoweek:{min:1,max:1},isoweekday:{min:1,max:1},hasvalue:{min:2,max:2},isomonth:{min:1,max:1},isoyear:{min:1,max:1},resize:{min:2,max:3},slice:{min:0,max:-1},splice:{min:0,max:-1},push:{min:2,max:2},pop:{min:1,max:1},includes:{min:2,max:2},array:{min:0,max:2},front:{min:1,max:1},back:{min:1,max:1},insert:{min:3,max:3},erase:{min:2,max:2},split:{min:2,max:4},guid:{min:0,max:1},standardizeguid:{min:2,max:2},today:{min:0,max:0},angle:{min:2,max:3},bearing:{min:2,max:3},urlencode:{min:1,max:1},now:{min:0,max:0},timestamp:{min:0,max:0},day:{min:1,max:1},month:{min:1,max:1},year:{min:1,max:1},hour:{min:1,max:1},second:{min:1,max:1},millisecond:{min:1,max:1},minute:{min:1,max:1},weekday:{min:1,max:1},toutc:{min:1,max:1},tolocal:{min:1,max:1},date:{min:0,max:8},datediff:{min:2,max:4},dateadd:{min:2,max:3},trim:{min:1,max:1},text:{min:1,max:2},left:{min:2,max:2},right:{min:2,max:2},mid:{min:2,max:3},upper:{min:1,max:1},proper:{min:1,max:2},lower:{min:1,max:1},find:{min:2,max:3},iif:{min:3,max:3},decode:{min:2,max:-1},when:{min:2,max:-1},defaultvalue:{min:2,max:2},isempty:{min:1,max:1},domaincode:{min:2,max:4},domainname:{min:2,max:4},polygon:{min:1,max:1},point:{min:1,max:1},polyline:{min:1,max:1},extent:{min:1,max:1},multipoint:{min:1,max:1},ringisclockwise:{min:1,max:1},geometry:{min:1,max:1},count:{min:0,max:-1},number:{min:1,max:2},acos:{min:1,max:1},asin:{min:1,max:1},atan:{min:1,max:1},atan2:{min:2,max:2},ceil:{min:1,max:2},floor:{min:1,max:2},round:{min:1,max:2},cos:{min:1,max:1},exp:{min:1,max:1},log:{min:1,max:1},min:{min:0,max:-1},constrain:{min:3,max:3},console:{min:0,max:-1},max:{min:0,max:-1},pow:{min:2,max:2},random:{min:0,max:0},sqrt:{min:1,max:1},sin:{min:1,max:1},tan:{min:1,max:1},abs:{min:1,max:1},isnan:{min:1,max:1},stdev:{min:0,max:-1},average:{min:0,max:-1},mean:{min:0,max:-1},sum:{min:0,max:-1},variance:{min:0,max:-1},distinct:{min:0,max:-1},first:{min:1,max:1},top:{min:2,max:2},boolean:{min:1,max:1},dictionary:{min:0,max:-1},typeof:{min:1,max:1},reverse:{min:1,max:1},replace:{min:3,max:4},sort:{min:1,max:2},feature:{min:1,max:-1},haskey:{min:2,max:2},indexof:{min:2,max:2},disjoint:{min:2,max:2},intersects:{min:2,max:2},touches:{min:2,max:2},crosses:{min:2,max:2},within:{min:2,max:2},contains:{min:2,max:2},overlaps:{min:2,max:2},equals:{min:2,max:2},relate:{min:3,max:3},intersection:{min:2,max:2},union:{min:1,max:2},difference:{min:2,max:2},symmetricdifference:{min:2,max:2},clip:{min:2,max:2},cut:{min:2,max:2},area:{min:1,max:2},areageodetic:{min:1,max:2},length:{min:1,max:2},lengthgeodetic:{min:1,max:2},distancegeodetic:{min:2,max:3},distance:{min:2,max:3},densify:{min:2,max:3},densifygeodetic:{min:2,max:3},generalize:{min:2,max:4},buffer:{min:2,max:3},buffergeodetic:{min:2,max:3},offset:{min:2,max:6},rotate:{min:2,max:3},issimple:{min:1,max:1},simplify:{min:1,max:1},convexhull:{min:1,max:1},centroid:{min:1,max:1},nearestcoordinate:{min:2,max:2},nearestvertex:{min:2,max:2},isselfintersecting:{min:1,max:1},multiparttosinglepart:{min:1,max:1},setgeometry:{min:2,max:2},portal:{min:1,max:1},getuser:{min:0,max:2},subtypes:{min:1,max:1},subtypecode:{min:1,max:1},subtypename:{min:1,max:1},domain:{min:2,max:3},convertdirection:{min:3,max:3},sqltimestamp:{min:1,max:3},schema:{min:1,max:1}},n={functionDefinitions:new Map,constantDefinitions:new Map},a={functionDefinitions:new Map,constantDefinitions:new Map};for(const b of["pi","infinity"])a.constantDefinitions.set(b,{type:"constant"}),n.constantDefinitions.set(b,{type:"constant"});a.constantDefinitions.set("textformatting",{type:"namespace",key:"textformatting",members:[{key:"backwardslash",type:"constant"},{key:"doublequote",type:"constant"},{key:"forwardslash",type:"constant"},{key:"tab",type:"constant"},{key:"singlequote",type:"constant"},{key:"newline",type:"constant"}]}),n.constantDefinitions.set("textformatting",{type:"namespace",key:"textformatting",members:[{key:"backwardslash",type:"constant"},{key:"tab",type:"constant"},{key:"singlequote",type:"constant"},{key:"doublequote",type:"constant"},{key:"forwardslash",type:"constant"},{key:"newline",type:"constant"}]});for(const b in e){const t=e[b];a.functionDefinitions.set(b,{overloads:[{type:"function",parametersInfo:{min:t.min,max:t.max}}]}),n.functionDefinitions.set(b,{overloads:[{type:"function",parametersInfo:{min:t.min,max:t.max}}]})}const t=new Set(["featureset","featuresetbyid","featuresetbyname","featuresetbyassociation","featuresetbyrelationshipname","featuresetbyurl","getfeatureset","getuser","attachments","featuresetbyportalitem"]),m=new Set(["disjoint","intersects","touches","crosses","within","contains","overlaps","equals","relate","intersection","nearestvertex","nearestcoordinate","union","difference","symmetricdifference","clip","cut","area","areageodetic","length","length3d","lengthgeodetic","distance","distancegeodetic","densify","densifygeodetic","generalize","buffer","buffergeodetic","offset","rotate","issimple","convexhull","simplify","multiparttosinglepart"]);function i(e){return"string"==typeof e||e instanceof String}function o(e,t){const m="sync"===t?n:a;m.functionDefinitions.has(e.name.toLowerCase())?m.functionDefinitions.get(e.name.toLowerCase())?.overloads.push({type:"function",parametersInfo:{min:e.min,max:e.max}}):m.functionDefinitions.set(e.name.toLowerCase(),{overloads:[{type:"function",parametersInfo:{min:e.min,max:e.max}}]})}function s(e,n){if(e)for(const a of e)r(a,n)}function r(e,n){if(e&&!1!==n(e))switch(e.type){case"ImportDeclaration":s(e.specifiers,n),r(e.source,n);break;case"ExportNamedDeclaration":r(e.declaration,n);break;case"ArrayExpression":s(e.elements,n);break;case"AssignmentExpression":case"BinaryExpression":case"LogicalExpression":r(e.left,n),r(e.right,n);break;case"BlockStatement":case"Program":s(e.body,n);break;case"BreakStatement":case"ContinueStatement":case"EmptyStatement":case"Identifier":case"Literal":break;case"CallExpression":r(e.callee,n),s(e.arguments,n);break;case"ExpressionStatement":r(e.expression,n);break;case"ForInStatement":r(e.left,n),r(e.right,n),r(e.body,n);break;case"ForStatement":r(e.init,n),r(e.test,n),r(e.update,n),r(e.body,n);break;case"WhileStatement":r(e.test,n),r(e.body,n);break;case"FunctionDeclaration":r(e.id,n),s(e.params,n),r(e.body,n);break;case"IfStatement":r(e.test,n),r(e.consequent,n),r(e.alternate,n);break;case"MemberExpression":r(e.object,n),r(e.property,n);break;case"ObjectExpression":s(e.properties,n);break;case"Property":r(e.key,n),r(e.value,n);break;case"ReturnStatement":case"UnaryExpression":case"UpdateExpression":r(e.argument,n);break;case"VariableDeclaration":s(e.declarations,n);break;case"VariableDeclarator":r(e.id,n),r(e.init,n);break;case"TemplateLiteral":s(e.expressions,n),s(e.quasis,n)}}function c(e,n){let a=!1;const t=n.toLowerCase();return r(e,(e=>!a&&("Identifier"===e.type&&e.name&&e.name.toLowerCase()===t&&(a=!0),!0))),a}function x(e){const n=[];return r(e,(e=>("ImportDeclaration"===e.type&&e.source&&e.source.value&&n.push({libname:e.specifiers[0].local.name.toLowerCase(),source:e.source.value}),!0))),n}function p(e,n){let a=!1;const t=n.toLowerCase();return r(e,(e=>!a&&("CallExpression"!==e.type||"Identifier"!==e.callee.type||!e.callee.name||e.callee.name.toLowerCase()!==t||(a=!0,!1)))),a}function l(e){const n=[];return r(e,(e=>"MemberExpression"!==e.type||"Identifier"!==e.object.type||(!1===e.computed&&e.object&&e.object.name&&e.property&&"Identifier"===e.property.type&&e.property.name?n.push(e.object.name.toLowerCase()+"."+e.property.name.toLowerCase()):e.object&&e.object.name&&e.property&&"Literal"===e.property.type&&"string"==typeof e.property.value&&n.push(e.object.name.toLowerCase()+"."+e.property.value?.toString().toLowerCase()),!1))),n}function u(e){const n=[];return r(e,(e=>{if("CallExpression"===e.type){if("Identifier"===e.callee.type&&"expects"===e.callee.name.toLowerCase()){let a="";for(let t=0;t<(e.arguments||[]).length;t++)0===t?"Identifier"===e.arguments[t].type&&(a=e.arguments[t].name.toLowerCase()):a&&"Literal"===e.arguments[t].type&&i(e.arguments[t].value)&&n.push(a+"."+e.arguments[t].value.toLowerCase());return!1}if("Identifier"===e.callee.type&&["domainname","domaincode","domain","haskey"].includes(e.callee.name.toLowerCase())&&e.arguments.length>=2){let a="";return"Identifier"===e.arguments[0].type&&(a=e.arguments[0].name.toLowerCase()),a&&"Literal"===e.arguments[1].type&&i(e.arguments[1].value)&&n.push(a+"."+e.arguments[1].value.toLowerCase()),!1}}return"MemberExpression"!==e.type||"Identifier"!==e.object.type||(!1===e.computed&&e.object&&e.object.name&&e.property&&"Identifier"===e.property.type&&e.property.name?n.push(e.object.name.toLowerCase()+"."+e.property.name.toLowerCase()):e.object&&e.object.name&&e.property&&"Literal"===e.property.type&&"string"==typeof e.property.value&&n.push(e.object.name.toLowerCase()+"."+e.property.value?.toString().toLowerCase()),!1)})),n}function f(e,n){const a=[];if(void 0!==n.params&&null!==n.params)for(let t=0;t<n.params.length;t++)a.push("any");return{name:e,return:"any",params:a}}function y(e){const n=[];return r(e,(e=>("CallExpression"===e.type&&"Identifier"===e.callee.type&&n.push(e.callee.name.toLowerCase()),!0))),n}function d(e,n=[]){let a=null;if(void 0===e.usesFeatureSet){null===a&&(a=y(e)),e.usesFeatureSet=!1;for(let n=0;n<a.length;n++)t.has(a[n])&&(e.usesFeatureSet=!0,e.isAsync=!0);if(!1===e.usesFeatureSet&&n&&n.length>0)for(const a of n)if(c(e,a)){e.usesFeatureSet=!0,e.isAsync=!0;break}}if(void 0===e.usesModules){e.usesModules=!1;x(e).length>0&&(e.usesModules=!0)}if(void 0===e.usesGeometry){e.usesGeometry=!1,null===a&&(a=y(e));for(let n=0;n<a.length;n++)m.has(a[n])&&(e.usesGeometry=!0)}}function g(e){const n=y(e);for(let a=0;a<n.length;a++)if(t.has(n[a]))return!0;return!1}export{o as addFunctionDeclaration,f as extractFunctionDeclaration,u as findExpectedFieldLiterals,l as findFieldLiterals,y as findFunctionCalls,x as findModuleImports,d as findScriptDependencies,a as fullArcadeApiAsync,n as fullArcadeApiSync,p as referencesFunction,c as referencesMember,g as scriptUsesFeatureSet,r as walk};