@arcgis/coding-components 4.31.0-next.2 → 4.31.0-next.21

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 (205) hide show
  1. package/README.md +22 -3
  2. package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +2 -2
  3. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ar.json +1 -1
  4. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.bg.json +1 -1
  5. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.bs.json +1 -1
  6. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ca.json +6 -6
  7. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.cs.json +1 -1
  8. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.da.json +1 -1
  9. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.de.json +1 -1
  10. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.el.json +1 -1
  11. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.es.json +1 -1
  12. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.et.json +1 -1
  13. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.fi.json +1 -1
  14. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.fr.json +1 -1
  15. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.he.json +1 -1
  16. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.hr.json +1 -1
  17. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.id.json +1 -1
  18. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.it.json +1 -1
  19. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ko.json +1 -1
  20. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.nb.json +1 -1
  21. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.nl.json +1 -1
  22. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pl.json +1 -1
  23. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pt-BR.json +1 -1
  24. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pt-PT.json +1 -1
  25. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ru.json +1 -1
  26. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sk.json +1 -1
  27. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sl.json +1 -1
  28. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sr.json +1 -1
  29. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sv.json +1 -1
  30. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.th.json +1 -1
  31. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.tr.json +1 -1
  32. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.uk.json +5 -5
  33. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.vi.json +1 -1
  34. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-CN.json +1 -1
  35. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-HK.json +1 -1
  36. package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-TW.json +1 -1
  37. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.ca.json +2 -2
  38. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.de.json +1 -1
  39. package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.he.json +1 -1
  40. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.ca.json +1 -1
  41. package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.it.json +1 -1
  42. package/dist/arcgis-coding-components/assets/code-editor/css.worker.js +1 -1
  43. package/dist/arcgis-coding-components/assets/code-editor/html.worker.js +1 -1
  44. package/dist/arcgis-coding-components/assets/code-editor/json.worker.js +1 -1
  45. package/dist/arcgis-coding-components/assets/code-editor/sql-expr.worker.js +33 -0
  46. package/dist/arcgis-coding-components/assets/code-editor/ts.worker.js +1 -1
  47. package/dist/arcgis-coding-components/assets/language-api-panel/t9n/language-api-panel.t9n.ca.json +1 -1
  48. package/dist/arcgis-coding-components/assets/sql-expression-editor/api/sql-expression-api.t9n.en.json +735 -0
  49. package/dist/arcgis-coding-components/index.esm.js +2 -2
  50. package/dist/arcgis-coding-components/{p-7984ea8e.js → p-1b799777.js} +2 -2
  51. package/dist/arcgis-coding-components/p-4d5cf512.entry.js +6 -0
  52. package/dist/arcgis-coding-components/{p-60c2a820.js → p-56266a64.js} +2 -2
  53. package/dist/arcgis-coding-components/{p-e8211ffe.js → p-57b8bcd7.js} +1 -1
  54. package/dist/arcgis-coding-components/{p-9eced6fc.js → p-5b67b62b.js} +2 -2
  55. package/dist/arcgis-coding-components/{p-93a97573.js → p-64137fec.js} +3 -3
  56. package/dist/arcgis-coding-components/{p-e7ee4d64.js → p-6621a80f.js} +3 -3
  57. package/dist/arcgis-coding-components/p-77dd5521.js +6 -0
  58. package/dist/arcgis-coding-components/p-8eb7e694.js +6 -0
  59. package/dist/arcgis-coding-components/p-a2341e0c.js +6 -0
  60. package/dist/arcgis-coding-components/{p-bb7e832e.js → p-b715834b.js} +3 -3
  61. package/dist/arcgis-coding-components/p-cbee273f.js +6 -0
  62. package/dist/arcgis-coding-components/{p-5ef7cce5.js → p-cdc52d2f.js} +1 -1
  63. package/dist/arcgis-coding-components/{p-36fedc23.js → p-d7d1f130.js} +12 -12
  64. package/dist/arcgis-coding-components/p-e1f9b463.entry.js +6 -0
  65. package/dist/arcgis-coding-components/{p-62ee6251.js → p-e5a924a1.js} +1 -1
  66. package/dist/arcgis-coding-components/p-f2d64a9d.js +6 -0
  67. package/dist/arcgis-coding-components/{p-03ea6cd7.js → p-ff62d134.js} +3 -3
  68. package/dist/arcgis-coding-components/p-ffce0588.entry.js +6 -0
  69. package/dist/cjs/{app-globals-aee5f4b5.js → app-globals-a9ef3ca8.js} +1 -1
  70. package/dist/cjs/arcade-defaults-f5241680.js +349 -0
  71. package/dist/cjs/arcade-language-features-0b9f3947.js +274 -0
  72. package/dist/cjs/arcade-mode-cc08d9cd.js +335 -0
  73. package/dist/cjs/arcgis-arcade-editor_6.cjs.entry.js +181 -1501
  74. package/dist/cjs/arcgis-coding-components.cjs.js +4 -4
  75. package/dist/cjs/arcgis-sql-expression-editor.cjs.entry.js +81 -0
  76. package/dist/cjs/arcgis-sql-expression-fields.cjs.entry.js +80 -0
  77. package/dist/cjs/{css-7cc05f76.js → css-bb6a49ec.js} +1 -1
  78. package/dist/cjs/{cssMode-2b0daeae.js → cssMode-e7fac7d7.js} +3 -4
  79. package/dist/cjs/{html-f56911e1.js → html-7ff4071d.js} +3 -4
  80. package/dist/cjs/{htmlMode-43eed674.js → htmlMode-c89193ec.js} +3 -4
  81. package/dist/cjs/{index-b34238a6.js → index-4b7880ab.js} +9 -1
  82. package/dist/cjs/index.cjs.js +4 -3
  83. package/dist/cjs/{javascript-5115cb76.js → javascript-864c0220.js} +3 -4
  84. package/dist/cjs/{jsonMode-550dda36.js → jsonMode-ac4a7be7.js} +3 -4
  85. package/dist/cjs/{arcade-defaults-a8d8f8e2.js → language-defaults-base-57b37f9f.js} +842 -1183
  86. package/dist/cjs/loader.cjs.js +4 -4
  87. package/dist/cjs/sql-expr-defaults-245b036d.js +1347 -0
  88. package/dist/cjs/sql-expr-mode-304f5ce2.js +20844 -0
  89. package/dist/cjs/{tsMode-336306a9.js → tsMode-d30d4ab1.js} +4 -5
  90. package/dist/cjs/{typescript-b395242f.js → typescript-6c87ddb3.js} +3 -4
  91. package/dist/components/arcade-defaults.js +54 -1369
  92. package/dist/components/arcade-language-features.js +271 -0
  93. package/dist/components/arcade-mode.js +4 -264
  94. package/dist/components/arcade-results.js +7 -5
  95. package/dist/components/arcade-suggestions.js +7 -5
  96. package/dist/components/arcade-variables.js +8 -6
  97. package/dist/components/arcgis-arcade-editor.js +37 -35
  98. package/dist/components/arcgis-arcade-results.js +1 -1
  99. package/dist/components/arcgis-arcade-suggestions.js +1 -1
  100. package/dist/components/arcgis-arcade-variables.js +1 -1
  101. package/dist/components/arcgis-assets.d.ts +1 -1
  102. package/dist/components/arcgis-assets.js +1 -1
  103. package/dist/components/arcgis-code-editor.js +1 -1
  104. package/dist/components/arcgis-language-api-panel.js +1 -1
  105. package/dist/components/arcgis-sql-expression-editor.d.ts +11 -0
  106. package/dist/components/arcgis-sql-expression-editor.js +120 -0
  107. package/dist/components/arcgis-sql-expression-fields.d.ts +11 -0
  108. package/dist/components/arcgis-sql-expression-fields.js +11 -0
  109. package/dist/components/chunk-2JTWBRMN.js +1154 -0
  110. package/dist/components/code-editor.js +40 -13
  111. package/dist/components/fields.js +5 -5
  112. package/dist/components/index.js +1 -1
  113. package/dist/components/index2.js +30 -22
  114. package/dist/components/language-api-panel.js +13 -40
  115. package/dist/components/language-defaults-base.js +1309 -0
  116. package/dist/components/markdown.js +1 -1
  117. package/dist/components/sql-expr-defaults.js +196 -0
  118. package/dist/components/sql-expr-mode.js +20842 -0
  119. package/dist/components/sql-expression-fields.js +102 -0
  120. package/dist/components/useT9n.js +45 -8
  121. package/dist/components/utilities.js +1 -1
  122. package/dist/esm/{app-globals-59faaf33.js → app-globals-6d0ca11d.js} +1 -1
  123. package/dist/esm/arcade-defaults-066445c4.js +344 -0
  124. package/dist/esm/arcade-language-features-0e00c199.js +269 -0
  125. package/dist/esm/{arcade-mode-5d46035e.js → arcade-mode-abf1e1cf.js} +3 -263
  126. package/dist/esm/arcgis-arcade-editor_6.entry.js +127 -1447
  127. package/dist/esm/arcgis-coding-components.js +5 -5
  128. package/dist/esm/arcgis-sql-expression-editor.entry.js +77 -0
  129. package/dist/esm/arcgis-sql-expression-fields.entry.js +76 -0
  130. package/dist/esm/{css-e257dc49.js → css-c6dae12d.js} +1 -1
  131. package/dist/esm/{cssMode-c11f7f40.js → cssMode-052bb603.js} +2 -3
  132. package/dist/esm/{html-a6c37a99.js → html-572696a1.js} +2 -3
  133. package/dist/esm/{htmlMode-1270bc7d.js → htmlMode-fc184f2d.js} +2 -3
  134. package/dist/esm/{index-a970952c.js → index-0edd9846.js} +9 -1
  135. package/dist/esm/index.js +4 -3
  136. package/dist/esm/{javascript-ee179624.js → javascript-8bfc0096.js} +3 -4
  137. package/dist/esm/{jsonMode-07502ccb.js → jsonMode-7adf94ff.js} +2 -3
  138. package/dist/esm/{arcade-defaults-9eb28407.js → language-defaults-base-85a7f476.js} +833 -1179
  139. package/dist/esm/loader.js +5 -5
  140. package/dist/esm/sql-expr-defaults-be84ec7f.js +1339 -0
  141. package/dist/esm/sql-expr-mode-a4413e5c.js +20840 -0
  142. package/dist/esm/{tsMode-96749a12.js → tsMode-d10773c8.js} +2 -3
  143. package/dist/esm/{typescript-a3cf9881.js → typescript-9491f23e.js} +2 -3
  144. package/dist/loader/cdn.js +1 -1
  145. package/dist/loader/index.cjs.js +1 -1
  146. package/dist/loader/index.es2017.js +1 -1
  147. package/dist/loader/index.js +1 -1
  148. package/dist/types/components/arcade-editor/arcade-editor.d.ts +45 -10
  149. package/dist/types/components/arcade-results/arcade-results.d.ts +43 -1
  150. package/dist/types/components/arcade-suggestions/arcade-suggestions.d.ts +22 -1
  151. package/dist/types/components/arcade-variables/arcade-variables.d.ts +28 -1
  152. package/dist/types/components/code-editor/code-editor.d.ts +16 -5
  153. package/dist/types/components/language-api-panel/language-api-panel.d.ts +34 -8
  154. package/dist/types/components/sql-expression-editor/sql-expression-editor.d.ts +24 -0
  155. package/dist/types/components/sql-expression-fields/sql-expression-fields.d.ts +32 -0
  156. package/dist/types/components.d.ts +98 -24
  157. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/arcade-editor/arcade-editor.stories.d.ts +8 -1
  158. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/arcade-editor/editorContext.d.ts +5 -1
  159. package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/sql-expression-editor/sql-expression-editor.stories.d.ts +13 -0
  160. package/dist/types/dependencies.d.ts +6 -10
  161. package/dist/types/utils/arcade-monaco/arcade-language-features.d.ts +1 -0
  162. package/dist/types/utils/arcade-monaco/arcade-profile-strategy.d.ts +9 -0
  163. package/dist/types/utils/fields.d.ts +2 -2
  164. package/dist/types/utils/language-defaults-base.d.ts +2 -9
  165. package/dist/types/utils/profile/editor-profile.d.ts +7 -6
  166. package/dist/types/utils/profile/types.d.ts +53 -65
  167. package/dist/types/utils/profile/utils.d.ts +9 -8
  168. package/dist/types/utils/sql-expr-monaco/DependentFiles/DateOnly.d.ts +41 -0
  169. package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlInterval.d.ts +16 -0
  170. package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlTimestampOffset.d.ts +26 -0
  171. package/dist/types/utils/sql-expr-monaco/DependentFiles/TimeOnly.d.ts +37 -0
  172. package/dist/types/utils/sql-expr-monaco/DependentFiles/UnknownTimeZone.d.ts +11 -0
  173. package/dist/types/utils/sql-expr-monaco/DependentFiles/WhereGrammar.d.ts +122 -0
  174. package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlCompareUtils.d.ts +5 -0
  175. package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlDateParsingUtils.d.ts +18 -0
  176. package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlUtils.d.ts +6 -0
  177. package/dist/types/utils/sql-expr-monaco/DependentFiles/standardizedFunctions.d.ts +156 -0
  178. package/dist/types/utils/sql-expr-monaco/DependentFiles/support.d.ts +150 -0
  179. package/dist/types/utils/sql-expr-monaco/PeggyGrammar/sql92grammar.d.ts +1397 -0
  180. package/dist/types/utils/sql-expr-monaco/sql-expr-completion.d.ts +6 -0
  181. package/dist/types/utils/sql-expr-monaco/sql-expr-constants.d.ts +45 -0
  182. package/dist/types/utils/sql-expr-monaco/sql-expr-contribution.d.ts +1 -0
  183. package/dist/types/utils/sql-expr-monaco/sql-expr-defaults.d.ts +21 -0
  184. package/dist/types/utils/sql-expr-monaco/sql-expr-language-features.d.ts +39 -0
  185. package/dist/types/utils/sql-expr-monaco/sql-expr-language-syntax.d.ts +8 -0
  186. package/dist/types/utils/sql-expr-monaco/sql-expr-mode.d.ts +43 -0
  187. package/dist/types/utils/sql-expr-monaco/sql-expr-service-accessors.d.ts +19 -0
  188. package/dist/types/utils/sql-expr-monaco/sql-expr-validation-diagnostic-adapter.d.ts +34 -0
  189. package/dist/types/utils/sql-expr-monaco/sql-expr-validation-utils.d.ts +100 -0
  190. package/dist/types/utils/sql-expr-monaco/sql-expr-validation.d.ts +41 -0
  191. package/dist/types/utils/sql-expr-monaco/sql-expr-worker-manager.d.ts +17 -0
  192. package/dist/types/utils/sql-expr-monaco/sql-expr.worker.d.ts +24 -0
  193. package/dist/types/utils/sql-expr-monaco/sql-expression-profile-strategy.d.ts +13 -0
  194. package/dist/types/utils/sql-expr-monaco/types.d.ts +89 -0
  195. package/package.json +27 -21
  196. package/dist/arcgis-coding-components/p-0c6de9b3.js +0 -6
  197. package/dist/arcgis-coding-components/p-81c37dab.entry.js +0 -6
  198. package/dist/cjs/arcade-mode-b85ae7d4.js +0 -595
  199. package/dist/components/chunk-IHYYRFLQ.js +0 -1363
  200. package/dist/types/components/arcade-editor/t9n-types.d.ts +0 -8
  201. package/dist/types/components/arcade-results/t9n-types.d.ts +0 -13
  202. package/dist/types/components/arcade-suggestions/t9n-types.d.ts +0 -6
  203. package/dist/types/components/arcade-variables/t9n-types.d.ts +0 -8
  204. package/dist/types/components/language-api-panel/t9n-types.d.ts +0 -8
  205. package/dist/types/utils/profile/predefined-profile.d.ts +0 -2
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  * See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
- * v4.31.0-next.2
4
+ * v4.31.0-next.21
5
5
  */
6
6
  /*!-----------------------------------------------------------------------------
7
7
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ * See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
+ * v4.31.0-next.21
5
+ */
6
+ import{F as t,D as i,G as s,H as e,J as o,f as n,i as r,b as c,m as h,L as a,d,E as u,U as f}from"./p-d7d1f130.js";import{g as l}from"./p-57b8bcd7.js";var p,y=(t,i)=>t.manager.internals.members?.[i]?.[0],v=Symbol.for("controller");function g(t){p!==t&&(p=t,queueMicrotask((()=>{p===t&&(p=void 0)})))}function w(){return p}var b,m=[];function k(t){if(void 0===t)return void(m=[]);const i=m.indexOf(t);m=-1===i?[...m,t]:m.slice(0,i+1),queueMicrotask((()=>{m=[]}))}var L,j=async(t,i)=>{const s=M(t);if(void 0===s)return t;if(await s.ready,"function"==typeof i){const t=s.watchExports((s=>i(s,t)))}return s.exports},x=async t=>{const i=M(t);return await i.ready,i},M=t=>{const i=function(){const t=b;return b=void 0,t}();if(void 0!==i)return i;const s=w().manager.internals.resolveExports(t);return void 0!==s?s:(t=>"object"==typeof t&&null!==t&&(v in t||"hostConnected"in t||"hostDisconnected"in t||"hostUpdate"in t||"hostUpdated"in t))(t)?t:void 0},U={setter:!1,getter:!1,readOnly:!1},D=new WeakMap;L=v;var S=class{constructor(t){this._callbacks={hostConnected:[],hostDisconnected:[],hostLoad:[],hostLoaded:[],hostUpdate:[],hostUpdated:[],hostDestroy:[],hostLifecycle:[]},this._ready=new i,this._lifecycleCleanups=[],this.connectedCalled=!1,this.willLoadCalled=!1,this.didLoadCalled=!1,this[L]=!0,this.ready=this._ready.promise,this._exports=E(this),this._exportWatchers=new Set;const s=t??w();this.component=s,this.component.addController(this),k(this),void 0===this.component.manager||queueMicrotask((()=>this.catchUpLifecycle()))}catchUpLifecycle(){const{manager:t}=this.component;!t.connectedCalled||this.connectedCalled||this.triggerConnected(),!t.willLoadCalled||this.triggerLoad().then((()=>{!t.didLoadCalled||this.triggerLoaded()})).catch(console.error)}get exports(){return this._exports}set exports(t){const i=this._exports;i!==t&&(this._exports=t,this._exportWatchers.forEach(o),this.connectedCalled&&!1!==this.assignedProperty&&this.component.requestUpdate(this.assignedProperty,i)),this._ready.resolve(t)}setProvisionalExports(t){this._exports=E(t),this._exportWatchers.forEach(o)}watchExports(t){const i=()=>t(this._exports);return this._exportWatchers.add(i),()=>{this._exportWatchers.delete(i)}}get use(){return g(this.component),j}get useRef(){return g(this.component),x}get useRefSync(){return g(this.component),M}controllerRemoved(){this.component.el.isConnected&&this.triggerDisconnected(),this.triggerDestroy()}onConnected(t){this._callbacks.hostConnected.push(t)}onDisconnected(t){this._callbacks.hostDisconnected.push(t)}onLoad(t){this._callbacks.hostLoad.push(t)}onLoaded(t){this._callbacks.hostLoaded.push(t)}onUpdate(t){this._callbacks.hostUpdate.push(t)}onUpdated(t){this._callbacks.hostUpdated.push(t)}onDestroy(t){this._callbacks.hostDestroy.push(t)}onLifecycle(t){this._callbacks.hostLifecycle.push(t),this.connectedCalled&&this.component.el.isConnected&&this._callLifecycle(t)}triggerConnected(){const t=this;t.hostConnected&&o(t.hostConnected,t),this._callbacks.hostConnected.forEach(o),this.triggerLifecycle(),this.connectedCalled=!0}triggerDisconnected(){const t=this;t.hostDisconnected&&o(t.hostDisconnected,t),this._callbacks.hostDisconnected.forEach(o),this._lifecycleCleanups.forEach(o),this._lifecycleCleanups=[]}async triggerLoad(){if(this.willLoadCalled)return;this.willLoadCalled=!0;const t=this;t.hostLoad&&await s(t.hostLoad,t),this._callbacks.hostLoad.length>0&&await Promise.allSettled(this._callbacks.hostLoad.map(s)),this._ready.resolve(this._exports)}triggerLoaded(){if(this.didLoadCalled)return;const t=this;t.hostLoaded&&o(t.hostLoaded,t),this._callbacks.hostLoaded.forEach(o),this.didLoadCalled=!0}triggerUpdate(t){const i=this;i.hostUpdate&&o(i.hostUpdate,i,t),this._callbacks.hostUpdate.forEach(C,t)}triggerUpdated(t){const i=this;i.hostUpdated&&o(i.hostUpdated,i,t),this._callbacks.hostUpdated.forEach(C,t)}triggerDestroy(){const t=this;t.hostDestroy&&o(t.hostDestroy,t),this._callbacks.hostDestroy.forEach(o)}triggerLifecycle(){const t=this;t.hostLifecycle&&this._callLifecycle((()=>t.hostLifecycle())),this._callbacks.hostLifecycle.forEach(this._callLifecycle,this)}_callLifecycle(t){g(this.component);const i=o(t);(Array.isArray(i)?i:[i]).forEach((t=>{"function"==typeof t?this._lifecycleCleanups.push(t):"object"==typeof t&&"function"==typeof t.remove&&this._lifecycleCleanups.push(t.remove)}))}};function C(t){o(t,void 0,this)}var O=S;function E(t){if("object"!=typeof t&&"function"!=typeof t||null===t)return t;const i=new Proxy(t,{get(t,s,e){if(!P.has(s)||!(s in t)||t[s]!==i)return s in t||s in Promise.prototype||"symbol"==typeof s?"function"==typeof t?t[s]:Reflect.get(t,s,e):void 0},set:(t,i,s,e)=>Reflect.set(t,i,s,e)});return i}var P=new Set(["exports","_exports"]),_=void 0;function A(){Array.from(_?.entries()??[]).forEach((([t,{callbacks:i}])=>{const s=Object.keys(t);i.forEach((t=>t(s)))})),_=void 0}function T(t,i,s){var e;const n=i,r=t.manager.internals;(e=r.allWatchers)[n]??(e[n]=[]);const c=r.allWatchers[n],h=s,a=(t,i,s)=>o(h,null,t,i,s);return c.push(a),()=>{const t=c.indexOf(a);-1!==t&&c.splice(t,1)}}var $=class{constructor(t){this.enabledWatchers={},this.allWatchers={},this.enableReadonly=()=>{if(this.enableReadonly=void 0,!this.component.manager.isLit)return;const t=this.component.manager.internals;Object.entries(t.members).forEach((([i,[s]])=>{var e;2048&s&&((e=t.setters)[i]??(e[i]=[]),t.setters[i].push(t.readonlySetter))}))},this.trackedValue=R,this.keyTrackers=[],this.getters={},this.setters={},this.accessorGetter={},this.accessorSetter={},this.reactiveUtilsIntegrations=new Set,this._exports=new WeakMap,this.readonlySetter=(t,i,s)=>{if(U.readOnly)return t;throw new Error(`Cannot assign to read-only property "${s}" of ${this.component.el.tagName.toLowerCase()}. Trying to assign "${String(t)}"`)},this.component=t}firePropTrackers(t,i){const s=this.keyTrackers;this.trackedValue=R,this.keyTrackers=[],s.forEach((s=>s(t,i)))}getSetProxy(t){const i=this.component,s=i.constructor.prototype;if(this._getSetProxy(s,t,"class"),i.manager.isLit)return;const e=i.el.constructor.prototype;s!==e&&this._getSetProxy(e,t,"html")}_getSetProxy(t,i,s){const e=y(this.component,i),o=Object.getOwnPropertyDescriptor(t,i);if(!o)return;const n=o.get,r=o.set,c=!(F in n),h=!(F in r);if(!c&&!h)return;const a=c?function(){let t=n.call(this);const s=D.get(this);if(void 0===s)return t;const e=s.manager.internals;t=e.accessorGetter[i](t,i);const o=e.getters[i]??q;for(let s=0;s<o.length;s++)t=o[s](t,i);return t}:n,d=h?function(t){const s=n.call(this),o=D.get(this);if(void 0===o)return void r.call(this,t);let c=o.manager.isLit?t:function(t,i=8){return null==t||"object"==typeof t||"function"==typeof t?t:4&i?"false"!==t&&(""===t||!!t):2&i?Number.parseFloat(t):1&i?String(t):t}(t,e);const h=o.manager.internals;if(c===s)r.call(this,t);else{const t=U.setter?q:h.setters[i]??q;for(let e=0;e<t.length&&(c=t[e](c,s,i),c!==s);e++);c=h.accessorSetter[i](c,s,i),r.call(this,c),c!==s&&h.enabledWatchers[i]?.forEach((t=>t(c,s,i)))}h.keyTrackers.length>0&&h?.firePropTrackers(i,t)}:r;c&&(a[F]=!0),h&&(d[F]=!0),Object.defineProperty(t,i,{...o,get:a,set:d})}markExports(t,i){("object"==typeof i&&null!==i||"function"==typeof i)&&this._exports.set(i,t)}resolveExports(t){return"object"==typeof t&&null!==t||"function"==typeof t?this._exports.get(t):void 0}},q=[],F=Symbol(),R=Symbol(),I=(t,i)=>new W(t,i),W=class extends O{constructor(s,e){const o="addController"in s,n=new Set,r=s;if(r.addController=function(t){n.add(t),o&&!(v in t)&&s.el.isConnected&&t.hostConnected?.()},r.removeController=function(t){n.delete(t),t.controllerRemoved?.()},!o){const t=e??s.constructor.__forceUpdate;r.requestUpdate=()=>t(s)}super(s),this.internals=new $(this.component),this.destroyed=!1,this._updatePromise=new i,this._originalLifecycles={},this.isLit=o,this.component.manager=this,function(i,s){if(s)i.manager.internals.members=Object.fromEntries(Array.from(i.constructor.elementProperties,(([t,i])=>i.noAccessor?void 0:[t,[(i.readOnly?2048:0)|(i.state?32:i.type===Number?2:i.type===Boolean?4:1)]])).filter(t));else{const t=i.constructor,s=t.__registerControllers?.(i)??void 0;if(t.__registerControllers=void 0,"object"!=typeof s)throw new Error("Failed to retrieve component meta");i.manager.internals.members=Object.fromEntries(Object.entries(s).filter((([t,[i]])=>!!(63&i))))}}(s,o),this._controllers=n,this.exports=void 0,this.hasDestroy=N in this.component&&"function"==typeof this.component.destroy,this.hasDestroy&&T(s,N,(()=>this._setAutoDestroyTimeout())),this._bindLifecycleMethods();const c=this.internals;Object.keys(c.members).forEach((t=>{c.accessorGetter[t]=B,c.accessorSetter[t]=B,c.getSetProxy(t)})),o||Object.defineProperty(s,"updateComplete",{get:async()=>await this._updatePromise.promise}),queueMicrotask(c.enableReadonly),k(void 0),g(s),D.set(s.el,s),D.set(s,s)}_bindLifecycleMethods(){const t=this.component,i=this.isLit,s=t.el===t;this._originalLifecycles={connectedCallback:i||s?void 0:t.connectedCallback,disconnectedCallback:i||s?void 0:t.disconnectedCallback,componentWillLoad:i?void 0:t.componentWillLoad,componentDidLoad:i?void 0:t.componentDidLoad,componentWillUpdate:i?void 0:t.componentWillUpdate,componentDidUpdate:i?void 0:t.componentDidUpdate,destroy:t.destroy};const e=this._connectedCallback.bind(this),o=this._disconnectedCallback.bind(this),n=this._update.bind(this),r=this._updated.bind(this);i?t.constructor.prototype.addController.call(t,{hostConnected:e,hostDisconnected:o,hostUpdate:n,hostUpdated:r}):(t.connectedCallback=e,t.disconnectedCallback=o,t.componentWillLoad=this._load.bind(this),t.componentDidLoad=this._loaded.bind(this),t.componentWillUpdate=n,t.componentDidUpdate=r),this.hasDestroy&&(t.destroy=this.destroy.bind(this))}_connectedCallback(){if(this.destroyed){const t=this.component.el.tagName.toLowerCase();throw this.component.el.remove(),new Error(`The ${t} component has already been destroyed. It can not be used again. If you meant to disconnect and reconnect a component without automatic destroy, set the ${N} prop.`)}void 0!==this._autoDestroyTimeout&&clearTimeout(this._autoDestroyTimeout);const t=this.internals;t.enabledWatchers=t.allWatchers,A(),t.enableReadonly?.(),this._controllers.forEach(G),this._originalLifecycles.connectedCallback?.call(this.component)}_disconnectedCallback(){this.destroyed||(this._controllers.forEach(H),this._originalLifecycles.disconnectedCallback?.call(this.component),this.hasDestroy&&this._setAutoDestroyTimeout())}async _load(){const t=this.internals.reactiveUtilsIntegrations;if(t.size>0)for(const i of t)"triggerLoad"in i?await i.triggerLoad():await s(i.hostLoad,i);await Promise.allSettled(Array.from(this._controllers,J,t)),await(this._originalLifecycles.componentWillLoad?.call(this.component))}_loaded(){this._controllers.forEach(z),this._originalLifecycles.componentDidLoad?.call(this.component)}_update(){this._controllers.forEach(K,this.component.changedProperties),this._originalLifecycles.componentWillUpdate?.call(this.component)}_updated(){const t=this.component;if(this._controllers.forEach(Q,t.changedProperties),this._originalLifecycles.componentDidUpdate?.call(this.component),this.isLit)t.changedProperties=new Map;else{const t=this._updatePromise;this._updatePromise=new i,t.resolve(!0)}}async destroy(){if(!this.destroyed){if(this.component.el.isConnected){this.hasDestroy=!1;try{this.component.el.remove()}finally{this.hasDestroy=!0}}this._autoDestroyTimeout=void 0,this.destroyed=!0,this._controllers.forEach(X),this._controllers.clear(),await(this._originalLifecycles.destroy?.call(this.component))}}_setAutoDestroyTimeout(){this.component.el.isConnected||this.component.autoDestroyDisabled||(void 0!==this._autoDestroyTimeout&&clearTimeout(this._autoDestroyTimeout),this._autoDestroyTimeout=e((()=>{this.destroy().catch(console.error)}),V))}},N="autoDestroyDisabled",V=1e3,B=t=>t;function G(t){"triggerConnected"in t?t.triggerConnected():o(t.hostConnected,t)}function H(t){"triggerDisconnected"in t?t.triggerDisconnected():o(t.hostDisconnected,t)}async function J(t){this.has(t)||("triggerLoad"in t?await t.triggerLoad():await s(t.hostLoad,t))}function z(t){"triggerLoaded"in t?t.triggerLoaded():o(t.hostLoaded,t)}function K(t){"triggerUpdate"in t?t.triggerUpdate(this):o(t.hostUpdate,t,this)}function Q(t){"triggerUpdated"in t?t.triggerUpdated(this):o(t.hostUpdated,t,this)}function X(t){"triggerDestroy"in t?t.triggerDestroy():o(t.hostDestroy,t)}function Y(t,i,s){const e=t.manager.internals;return e.trackedValue!==R&&e.trackedValue!==s&&e.firePropTrackers(void 0,void 0),0===e.keyTrackers.length&&queueMicrotask((()=>e.firePropTrackers(void 0,void 0))),e.trackedValue=s,e.keyTrackers.push(((t,e)=>o(i,void 0,s===e?t:void 0))),s}function Z(t,i){const s=w();return Y(s,(e=>{const o=e,n=s.manager,r=s,c=r[o];if(null!=c&&c!==t&&"function"==typeof i.set&&(i.initialSet??1)){const s=i.set(c,t,o);if(s!==c)if(n.isLit)r[o]=s;else{let t=!0;n.onConnected((()=>{t&&(t=!0,function(){U.setter=!0;try{return void(r[o]=s)}finally{U.setter=!1}}())}))}}!function(t,i,s){var e,o;const n=s,r=t.manager.internals,c="function"==typeof n.get?n.get:void 0;c&&((e=r.getters)[i]??(e[i]=[]),r.getters[i].unshift(c));const h="ignore"===n.set?it:n.set;h&&((o=r.setters)[i]??(o[i]=[]),r.setters[i].unshift(h))}(s,o,i)}),t)}var tt,it=(t,i)=>i,st=t=>et(void 0,t),et=(tt=class extends S{constructor(t,i){super(t);const s=this.exports;try{g(this.component);const t=i(this.component,this),e=this.exports!==s;if(t instanceof Promise){e||this.setProvisionalExports(t);const i=t.then((t=>{this.exports=t,super.catchUpLifecycle()})).catch((t=>{this._ready.reject(t),console.error(t)}));this.onLoad((async()=>await i))}else e&&void 0===t||(this.exports=t),queueMicrotask((()=>super.catchUpLifecycle()))}catch(t){this._ready.reject(t),console.error(t)}}catchUpLifecycle(){}},(...t)=>{const i=m,s=new tt(...t),e=s.exports;k(i.at(-1));const n=s.component.manager.internals;var r;return n.markExports(s,e),s.watchExports((t=>n.markExports(s,t))),b!==(r=s)&&(b=r,queueMicrotask((()=>{b===r&&(b=void 0)}))),function(t,i,s){const e=Array.isArray(t)?t:[t];let n=e.length+1;const r=t=>{n-=1,void 0!==t&&(n=0),0===n&&i(t)};e.forEach((t=>function(t,i,s){const e=Object.keys(t),n=e.length;void 0===_&&queueMicrotask(A),_??(_=new Map);let r=_.get(t);return void 0===r&&(r={callbacks:[],keyCount:n},_.set(t,r)),r.keyCount!==n&&(r.callbacks.forEach((t=>t(e))),r.callbacks=[],r.keyCount=n),r.callbacks.push((e=>{const r=e[n];o(i,null,void 0===r?void 0:t[r]===s?r:void 0)})),s}(t,(i=>r(void 0===i?void 0:{key:i,host:t,isReactive:!1})),s)));const c=e.find((t=>"manager"in t&&"object"==typeof t.manager&&t.manager.component===t));return c&&Y(c,(t=>r(void 0===t?void 0:{key:t,host:c,isReactive:void 0!==y(c,t)})),s),s}([s.component,...i].reverse(),(t=>void 0===t?void 0:function(t,{host:i,key:s,isReactive:e},o){const n=i,r=n[s]!==o;n[s]!==t.exports&&!r&&o!==t.exports&&(n[s]=t.exports);if(i===t.component){if(e){const i=t.component.manager.internals;r&&i.markExports(t,n[s]),T(t.component,s,(s=>{s!==t.exports&&i.markExports(t,s)}))}t.assignedProperty=e?void 0:s}t.watchExports((()=>{if(n[s]===t.exports)return;const i=t.component.manager,e=i.internals.setters[s]?.includes(i.internals.readonlySetter);e?function(){U.readOnly=!0;try{return void(n[s]=t.exports)}finally{U.readOnly=!1}}():n[s]=t.exports}))}(s,t,e)),e)});const ot={en:{id:"field-calculation",variables:[{name:"$layer",type:"featureSet",description:"The layer being calculated."}]}};const nt=t=>t.variables?t.variables.find((t=>"$layer"===t.name&&"dictionary"===t.type)).properties??[]:[];async function rt(){return await import("./p-77dd5521.js")}const ct=new class extends a{constructor(){super(...arguments),this._languageId="arcgis-sql-expression",this._languageOptions={},this._layerMap=new Map}updateFeatureLayerForModel(t,i){const s=this._getApiKey(t);this._layerMap.set(s,i)}setLanguageOptions(t){this._languageOptions=t}getFeatureLayerForModel(t){const i=this._getApiKey(t);return this._layerMap.get(i)}async setProfileForModel(t,i,s={locale:"en"}){r(i)&&(i=await async function(t,i="en"){if(!r(t))return;const s=await async function(t="en"){return await Promise.resolve(ot[t])}(i);if(!s)return;const e={variables:[],hiddenApiItems:t.hiddenApiItems?.map((t=>t.toLowerCase()))};return s.variables.forEach((i=>{if(t.disabledVariables?.includes(i.name))return;const s=t.definitions[i.name];if("featureSet"===i.type)return c(s)?e.variables.push({...i,type:i.type,definition:s}):void 0;throw Error(`sdkVariable type not supported (yet) type: ${i.type}`)})),e}(i,s.locale));const e=await d(s.locale,l("./assets/arcade-language/t9n"),"profile.t9n.");if(!e)throw new Error(`Failed to load the language bundle for ${s.locale}`);this.disposeForModel(t);const o=this._getApiKey(t),a=new u(i,e);this._profileMap.set(o,a);const f=(t=>{const{apiVersion:i,bundles:s,hiddenApiItems:e}=t.toEditorProfileDefinition(),o=t.variables[0];if(!o||"featureSet"!==o.type)throw Error("No variable found in the editor profile");const r=function(t){const{name:i}=t,s=t.getDescription(),{definition:e}=t.toProfileVariableDefinition(),o={label:i,detail:i,insertText:i,insertTextMode:h.exports.InsertTextMode.asIs,insertTextFormat:h.exports.InsertTextFormat.PlainText,kind:h.exports.CompletionItemKind.Field},r={name:i,description:s,type:"dictionary",properties:[],completion:o};if(!e||!("fields"in e))return r;const[c,a]=n(e.fields,s);return r.properties=c,o.documentation={kind:"markdown",value:a},r}(o);return{apiVersion:i,bundles:s,variables:[r],hiddenApiItems:e?.map((t=>t.toLowerCase()))}})(a);this.updateApiContextForModel(t,{locale:s.locale,profile:f});const p=i?.variables?.find((t=>"$layer"===t.name));p&&this.updateFeatureLayerForModel(t,p.definition)}async getApiLibrary(t){const i=f.parse(t),s=await async function(t){const i=await rt();return await i.getSqlExprWorker(t)}(i);return await s.getApiLibrary(this.getApiContextForModel(i))}};export{rt as a,nt as b,Z as g,st as m,ct as s,I as u,T as w}
@@ -1,12 +1,12 @@
1
1
  /*!
2
2
  * All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  * See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
- * v4.31.0-next.2
4
+ * v4.31.0-next.21
5
5
  */
6
- import{F as t,E as e}from"./p-36fedc23.js";import"./p-e8211ffe.js";
6
+ import{N as t,M as e}from"./p-d7d1f130.js";
7
7
  /*!-----------------------------------------------------------------------------
8
8
  * Copyright (c) Microsoft Corporation. All rights reserved.
9
9
  * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)
10
10
  * Released under the MIT license
11
11
  * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
12
- *-----------------------------------------------------------------------------*/var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,a=(t,e,a,o)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let c of i(e))s.call(t,c)||c===a||n(t,c,{get:()=>e[c],enumerable:!(o=r(e,c))||o.enumerable});return t},o=(t,e,r)=>(((t,e,r)=>{e in t?n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r})(t,"symbol"!=typeof e?e+"":e,r),r),c={};a(c,e,"default");var u=class{constructor(t,e){this._modeId=t,this._defaults=e,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker())),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange((()=>this._updateExtraLibs()))}_configChangeListener;_updateExtraLibsToken;_extraLibsChangeListener;_worker;_client;dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;const t=++this._updateExtraLibsToken,e=await this._worker.getProxy();this._updateExtraLibsToken===t&&e.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||(this._client=(async()=>(this._worker=c.editor.createWebWorker({moduleId:"vs/language/typescript/tsWorker",label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(c.editor.getModels().filter((t=>t.getLanguageId()===this._modeId)).map((t=>t.uri))):await this._worker.getProxy()))()),this._client}async getLanguageServiceWorker(...t){const e=await this._getClient();return this._worker&&await this._worker.withSyncedResources(t),e}},l={};function h(t,e,n=0){if("string"==typeof t)return t;if(void 0===t)return"";let r="";if(n){r+=e;for(let t=0;t<n;t++)r+=" "}if(r+=t.messageText,n++,t.next)for(const i of t.next)r+=h(i,e,n);return r}function d(t){return t?t.map((t=>t.text)).join(""):""}l["lib.d.ts"]=!0,l["lib.decorators.d.ts"]=!0,l["lib.decorators.legacy.d.ts"]=!0,l["lib.dom.d.ts"]=!0,l["lib.dom.iterable.d.ts"]=!0,l["lib.es2015.collection.d.ts"]=!0,l["lib.es2015.core.d.ts"]=!0,l["lib.es2015.d.ts"]=!0,l["lib.es2015.generator.d.ts"]=!0,l["lib.es2015.iterable.d.ts"]=!0,l["lib.es2015.promise.d.ts"]=!0,l["lib.es2015.proxy.d.ts"]=!0,l["lib.es2015.reflect.d.ts"]=!0,l["lib.es2015.symbol.d.ts"]=!0,l["lib.es2015.symbol.wellknown.d.ts"]=!0,l["lib.es2016.array.include.d.ts"]=!0,l["lib.es2016.d.ts"]=!0,l["lib.es2016.full.d.ts"]=!0,l["lib.es2017.d.ts"]=!0,l["lib.es2017.full.d.ts"]=!0,l["lib.es2017.intl.d.ts"]=!0,l["lib.es2017.object.d.ts"]=!0,l["lib.es2017.sharedmemory.d.ts"]=!0,l["lib.es2017.string.d.ts"]=!0,l["lib.es2017.typedarrays.d.ts"]=!0,l["lib.es2018.asyncgenerator.d.ts"]=!0,l["lib.es2018.asynciterable.d.ts"]=!0,l["lib.es2018.d.ts"]=!0,l["lib.es2018.full.d.ts"]=!0,l["lib.es2018.intl.d.ts"]=!0,l["lib.es2018.promise.d.ts"]=!0,l["lib.es2018.regexp.d.ts"]=!0,l["lib.es2019.array.d.ts"]=!0,l["lib.es2019.d.ts"]=!0,l["lib.es2019.full.d.ts"]=!0,l["lib.es2019.intl.d.ts"]=!0,l["lib.es2019.object.d.ts"]=!0,l["lib.es2019.string.d.ts"]=!0,l["lib.es2019.symbol.d.ts"]=!0,l["lib.es2020.bigint.d.ts"]=!0,l["lib.es2020.d.ts"]=!0,l["lib.es2020.date.d.ts"]=!0,l["lib.es2020.full.d.ts"]=!0,l["lib.es2020.intl.d.ts"]=!0,l["lib.es2020.number.d.ts"]=!0,l["lib.es2020.promise.d.ts"]=!0,l["lib.es2020.sharedmemory.d.ts"]=!0,l["lib.es2020.string.d.ts"]=!0,l["lib.es2020.symbol.wellknown.d.ts"]=!0,l["lib.es2021.d.ts"]=!0,l["lib.es2021.full.d.ts"]=!0,l["lib.es2021.intl.d.ts"]=!0,l["lib.es2021.promise.d.ts"]=!0,l["lib.es2021.string.d.ts"]=!0,l["lib.es2021.weakref.d.ts"]=!0,l["lib.es2022.array.d.ts"]=!0,l["lib.es2022.d.ts"]=!0,l["lib.es2022.error.d.ts"]=!0,l["lib.es2022.full.d.ts"]=!0,l["lib.es2022.intl.d.ts"]=!0,l["lib.es2022.object.d.ts"]=!0,l["lib.es2022.regexp.d.ts"]=!0,l["lib.es2022.sharedmemory.d.ts"]=!0,l["lib.es2022.string.d.ts"]=!0,l["lib.es2023.array.d.ts"]=!0,l["lib.es2023.d.ts"]=!0,l["lib.es2023.full.d.ts"]=!0,l["lib.es5.d.ts"]=!0,l["lib.es6.d.ts"]=!0,l["lib.esnext.d.ts"]=!0,l["lib.esnext.full.d.ts"]=!0,l["lib.esnext.intl.d.ts"]=!0,l["lib.scripthost.d.ts"]=!0,l["lib.webworker.d.ts"]=!0,l["lib.webworker.importscripts.d.ts"]=!0,l["lib.webworker.iterable.d.ts"]=!0;var f=class{constructor(t){this._worker=t}_textSpanToRange(t,e){let n=t.getPositionAt(e.start),r=t.getPositionAt(e.start+e.length),{lineNumber:i,column:s}=n,{lineNumber:a,column:o}=r;return{startLineNumber:i,startColumn:s,endLineNumber:a,endColumn:o}}},m=class{constructor(t){this._worker=t,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}_libFiles;_hasFetchedLibFiles;_fetchLibFilesPromise;isLibFile(t){return!!t&&0===t.path.indexOf("/lib.")&&!!l[t.path.slice(1)]}getOrCreateModel(e){const n=c.Uri.parse(e),r=c.editor.getModel(n);if(r)return r;if(this.isLibFile(n)&&this._hasFetchedLibFiles)return c.editor.createModel(this._libFiles[n.path.slice(1)],"typescript",n);const i=t.getExtraLibs()[e];return i?c.editor.createModel(i.content,"typescript",n):null}_containsLibFile(t){for(let e of t)if(this.isLibFile(e))return!0;return!1}async fetchLibFilesIfNecessary(t){this._containsLibFile(t)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then((t=>t.getLibFiles())).then((t=>{this._hasFetchedLibFiles=!0,this._libFiles=t}))),this._fetchLibFilesPromise}},p=class extends f{constructor(t,e,n,r){super(r),this._libFiles=t,this._defaults=e,this._selector=n;const i=t=>{if(t.getLanguageId()!==n)return;const e=()=>{const{onlyVisible:e}=this._defaults.getDiagnosticsOptions();e?t.isAttachedToEditor()&&this._doValidate(t):this._doValidate(t)};let r;const i=t.onDidChangeContent((()=>{clearTimeout(r),r=window.setTimeout(e,500)})),s=t.onDidChangeAttached((()=>{const{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(t.isAttachedToEditor()?e():c.editor.setModelMarkers(t,this._selector,[]))}));this._listener[t.uri.toString()]={dispose(){i.dispose(),s.dispose(),clearTimeout(r)}},e()},s=t=>{c.editor.setModelMarkers(t,this._selector,[]);const e=t.uri.toString();this._listener[e]&&(this._listener[e].dispose(),delete this._listener[e])};this._disposables.push(c.editor.onDidCreateModel((t=>i(t)))),this._disposables.push(c.editor.onWillDisposeModel(s)),this._disposables.push(c.editor.onDidChangeModelLanguage((t=>{s(t.model),i(t.model)}))),this._disposables.push({dispose(){for(const t of c.editor.getModels())s(t)}});const a=()=>{for(const t of c.editor.getModels())s(t),i(t)};this._disposables.push(this._defaults.onDidChange(a)),this._disposables.push(this._defaults.onDidExtraLibsChange(a)),c.editor.getModels().forEach((t=>i(t)))}_disposables=[];_listener=Object.create(null);dispose(){this._disposables.forEach((t=>t&&t.dispose())),this._disposables=[]}async _doValidate(t){const e=await this._worker(t.uri);if(t.isDisposed())return;const n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:s}=this._defaults.getDiagnosticsOptions();r||n.push(e.getSyntacticDiagnostics(t.uri.toString())),i||n.push(e.getSemanticDiagnostics(t.uri.toString())),s||n.push(e.getSuggestionDiagnostics(t.uri.toString()));const a=await Promise.all(n);if(!a||t.isDisposed())return;const o=a.reduce(((t,e)=>e.concat(t)),[]).filter((t=>-1===(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(t.code))),u=o.map((t=>t.relatedInformation||[])).reduce(((t,e)=>e.concat(t)),[]).map((t=>t.file?c.Uri.parse(t.file.fileName):null));await this._libFiles.fetchLibFilesIfNecessary(u),t.isDisposed()||c.editor.setModelMarkers(t,this._selector,o.map((e=>this._convertDiagnostics(t,e))))}_convertDiagnostics(t,e){const n=e.start||0,r=e.length||1,{lineNumber:i,column:s}=t.getPositionAt(n),{lineNumber:a,column:o}=t.getPositionAt(n+r),u=[];return e.reportsUnnecessary&&u.push(c.MarkerTag.Unnecessary),e.reportsDeprecated&&u.push(c.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(e.category),startLineNumber:i,startColumn:s,endLineNumber:a,endColumn:o,message:h(e.messageText,"\n"),code:e.code.toString(),tags:u,relatedInformation:this._convertRelatedInformation(t,e.relatedInformation)}}_convertRelatedInformation(t,e){if(!e)return[];const n=[];return e.forEach((e=>{let r=t;if(e.file&&(r=this._libFiles.getOrCreateModel(e.file.fileName)),!r)return;const i=e.start||0,s=e.length||1,{lineNumber:a,column:o}=r.getPositionAt(i),{lineNumber:c,column:u}=r.getPositionAt(i+s);n.push({resource:r.uri,startLineNumber:a,startColumn:o,endLineNumber:c,endColumn:u,message:h(e.messageText,"\n")})})),n}_tsDiagnosticCategoryToMarkerSeverity(t){switch(t){case 1:return c.MarkerSeverity.Error;case 3:return c.MarkerSeverity.Info;case 0:return c.MarkerSeverity.Warning;case 2:return c.MarkerSeverity.Hint}return c.MarkerSeverity.Info}},g=class extends f{get triggerCharacters(){return["."]}async provideCompletionItems(t,e,n,r){const i=t.getWordUntilPosition(e),s=new c.Range(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn),a=t.uri,o=t.getOffsetAt(e),u=await this._worker(a);if(t.isDisposed())return;const l=await u.getCompletionsAtPosition(a.toString(),o);return l&&!t.isDisposed()?{suggestions:l.entries.map((n=>{let r=s;if(n.replacementSpan){const e=t.getPositionAt(n.replacementSpan.start),i=t.getPositionAt(n.replacementSpan.start+n.replacementSpan.length);r=new c.Range(e.lineNumber,e.column,i.lineNumber,i.column)}const i=[];return void 0!==n.kindModifiers&&-1!==n.kindModifiers.indexOf("deprecated")&&i.push(c.languages.CompletionItemTag.Deprecated),{uri:a,position:e,offset:o,range:r,label:n.name,insertText:n.name,sortText:n.sortText,kind:g.convertKind(n.kind),tags:i}}))}:void 0}async resolveCompletionItem(t,e){const n=t,r=n.uri,i=n.position,s=n.offset,a=await this._worker(r),o=await a.getCompletionEntryDetails(r.toString(),s,n.label);return o?{uri:r,position:i,label:o.name,kind:g.convertKind(o.kind),detail:d(o.displayParts),documentation:{value:g.createDocumentationString(o)}}:n}static convertKind(t){switch(t){case k.primitiveType:case k.keyword:return c.languages.CompletionItemKind.Keyword;case k.variable:case k.localVariable:return c.languages.CompletionItemKind.Variable;case k.memberVariable:case k.memberGetAccessor:case k.memberSetAccessor:return c.languages.CompletionItemKind.Field;case k.function:case k.memberFunction:case k.constructSignature:case k.callSignature:case k.indexSignature:return c.languages.CompletionItemKind.Function;case k.enum:return c.languages.CompletionItemKind.Enum;case k.module:return c.languages.CompletionItemKind.Module;case k.class:return c.languages.CompletionItemKind.Class;case k.interface:return c.languages.CompletionItemKind.Interface;case k.warning:return c.languages.CompletionItemKind.File}return c.languages.CompletionItemKind.Property}static createDocumentationString(t){let e=d(t.documentation);if(t.tags)for(const n of t.tags)e+=`\n\n${w(n)}`;return e}};function w(t){let e=`*@${t.name}*`;if("param"===t.name&&t.text){const[n,...r]=t.text;e+=`\`${n.text}\``,r.length>0&&(e+=` — ${r.map((t=>t.text)).join(" ")}`)}else Array.isArray(t.text)?e+=` — ${t.text.map((t=>t.text)).join(" ")}`:t.text&&(e+=` — ${t.text}`);return e}var b=class extends f{signatureHelpTriggerCharacters=["(",","];static _toSignatureHelpTriggerReason(t){switch(t.triggerKind){case c.languages.SignatureHelpTriggerKind.TriggerCharacter:return t.triggerCharacter?t.isRetrigger?{kind:"retrigger",triggerCharacter:t.triggerCharacter}:{kind:"characterTyped",triggerCharacter:t.triggerCharacter}:{kind:"invoked"};case c.languages.SignatureHelpTriggerKind.ContentChange:return t.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};default:return{kind:"invoked"}}}async provideSignatureHelp(t,e,n,r){const i=t.uri,s=t.getOffsetAt(e),a=await this._worker(i);if(t.isDisposed())return;const o=await a.getSignatureHelpItems(i.toString(),s,{triggerReason:b._toSignatureHelpTriggerReason(r)});if(!o||t.isDisposed())return;const c={activeSignature:o.selectedItemIndex,activeParameter:o.argumentIndex,signatures:[]};return o.items.forEach((t=>{const e={label:"",parameters:[]};e.documentation={value:d(t.documentation)},e.label+=d(t.prefixDisplayParts),t.parameters.forEach(((n,r,i)=>{const s=d(n.displayParts),a={label:s,documentation:{value:d(n.documentation)}};e.label+=s,e.parameters.push(a),r<i.length-1&&(e.label+=d(t.separatorDisplayParts))})),e.label+=d(t.suffixDisplayParts),c.signatures.push(e)})),{value:c,dispose(){}}}},v=class extends f{async provideHover(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getQuickInfoAtPosition(r.toString(),i);if(!a||t.isDisposed())return;const o=d(a.documentation),c=a.tags?a.tags.map((t=>w(t))).join(" \n\n"):"",u=d(a.displayParts);return{range:this._textSpanToRange(t,a.textSpan),contents:[{value:"```typescript\n"+u+"\n```\n"},{value:o+(c?"\n\n"+c:"")}]}}},y=class extends f{async provideDocumentHighlights(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getDocumentHighlights(r.toString(),i,[r.toString()]);return a&&!t.isDisposed()?a.flatMap((e=>e.highlightSpans.map((e=>({range:this._textSpanToRange(t,e.textSpan),kind:"writtenReference"===e.kind?c.languages.DocumentHighlightKind.Write:c.languages.DocumentHighlightKind.Text}))))):void 0}},x=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideDefinition(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getDefinitionAtPosition(r.toString(),i);if(!a||t.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(a.map((t=>c.Uri.parse(t.fileName)))),t.isDisposed())return;const o=[];for(let t of a){const e=this._libFiles.getOrCreateModel(t.fileName);e&&o.push({uri:e.uri,range:this._textSpanToRange(e,t.textSpan)})}return o}},S=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideReferences(t,e,n,r){const i=t.uri,s=t.getOffsetAt(e),a=await this._worker(i);if(t.isDisposed())return;const o=await a.getReferencesAtPosition(i.toString(),s);if(!o||t.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(o.map((t=>c.Uri.parse(t.fileName)))),t.isDisposed())return;const u=[];for(let t of o){const e=this._libFiles.getOrCreateModel(t.fileName);e&&u.push({uri:e.uri,range:this._textSpanToRange(e,t.textSpan)})}return u}},C=class extends f{async provideDocumentSymbols(t,e){const n=t.uri,r=await this._worker(n);if(t.isDisposed())return;const i=await r.getNavigationTree(n.toString());if(!i||t.isDisposed())return;const s=(e,n)=>({name:e.text,detail:"",kind:N[e.kind]||c.languages.SymbolKind.Variable,range:this._textSpanToRange(t,e.spans[0]),selectionRange:this._textSpanToRange(t,e.spans[0]),tags:[],children:e.childItems?.map((t=>s(t,e.text))),containerName:n});return i.childItems?i.childItems.map((t=>s(t))):[]}},k=class{};o(k,"unknown",""),o(k,"keyword","keyword"),o(k,"script","script"),o(k,"module","module"),o(k,"class","class"),o(k,"interface","interface"),o(k,"type","type"),o(k,"enum","enum"),o(k,"variable","var"),o(k,"localVariable","local var"),o(k,"function","function"),o(k,"localFunction","local function"),o(k,"memberFunction","method"),o(k,"memberGetAccessor","getter"),o(k,"memberSetAccessor","setter"),o(k,"memberVariable","property"),o(k,"constructorImplementation","constructor"),o(k,"callSignature","call"),o(k,"indexSignature","index"),o(k,"constructSignature","construct"),o(k,"parameter","parameter"),o(k,"typeParameter","type parameter"),o(k,"primitiveType","primitive type"),o(k,"label","label"),o(k,"alias","alias"),o(k,"const","const"),o(k,"let","let"),o(k,"warning","warning");var N=Object.create(null);N[k.module]=c.languages.SymbolKind.Module,N[k.class]=c.languages.SymbolKind.Class,N[k.enum]=c.languages.SymbolKind.Enum,N[k.interface]=c.languages.SymbolKind.Interface,N[k.memberFunction]=c.languages.SymbolKind.Method,N[k.memberVariable]=c.languages.SymbolKind.Property,N[k.memberGetAccessor]=c.languages.SymbolKind.Property,N[k.memberSetAccessor]=c.languages.SymbolKind.Property,N[k.variable]=c.languages.SymbolKind.Variable,N[k.const]=c.languages.SymbolKind.Variable,N[k.localVariable]=c.languages.SymbolKind.Variable,N[k.variable]=c.languages.SymbolKind.Variable,N[k.function]=c.languages.SymbolKind.Function,N[k.localFunction]=c.languages.SymbolKind.Function;var _,F,I=class extends f{static _convertOptions(t){return{ConvertTabsToSpaces:t.insertSpaces,TabSize:t.tabSize,IndentSize:t.tabSize,IndentStyle:2,NewLineCharacter:"\n",InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(t,e){return{text:e.newText,range:this._textSpanToRange(t,e.span)}}},L=class extends I{canFormatMultipleRanges=!1;async provideDocumentRangeFormattingEdits(t,e,n,r){const i=t.uri,s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=await this._worker(i);if(t.isDisposed())return;const c=await o.getFormattingEditsForRange(i.toString(),s,a,I._convertOptions(n));return c&&!t.isDisposed()?c.map((e=>this._convertTextChanges(t,e))):void 0}},O=class extends I{get autoFormatTriggerCharacters(){return[";","}","\n"]}async provideOnTypeFormattingEdits(t,e,n,r,i){const s=t.uri,a=t.getOffsetAt(e),o=await this._worker(s);if(t.isDisposed())return;const c=await o.getFormattingEditsAfterKeystroke(s.toString(),a,n,I._convertOptions(r));return c&&!t.isDisposed()?c.map((e=>this._convertTextChanges(t,e))):void 0}},T=class extends I{async provideCodeActions(t,e,n,r){const i=t.uri,s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=I._convertOptions(t.getOptions()),c=n.markers.filter((t=>t.code)).map((t=>t.code)).map(Number),u=await this._worker(i);if(t.isDisposed())return;const l=await u.getCodeFixesAtPosition(i.toString(),s,a,c,o);return!l||t.isDisposed()?{actions:[],dispose:()=>{}}:{actions:l.filter((t=>0===t.changes.filter((t=>t.isNewFile)).length)).map((e=>this._tsCodeFixActionToMonacoCodeAction(t,n,e))),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(t,e,n){const r=[];for(const e of n.changes)for(const n of e.textChanges)r.push({resource:t.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(t,n.span),text:n.newText}});return{title:n.description,edit:{edits:r},diagnostics:e.markers,kind:"quickfix"}}},A=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideRenameEdits(t,e,n,r){const i=t.uri,s=i.toString(),a=t.getOffsetAt(e),o=await this._worker(i);if(t.isDisposed())return;const c=await o.getRenameInfo(s,a,{allowRenameOfImportPath:!1});if(!1===c.canRename)return{edits:[],rejectReason:c.localizedErrorMessage};if(void 0!==c.fileToRename)throw new Error("Renaming files is not supported.");const u=await o.findRenameLocations(s,a,!1,!1,!1);if(!u||t.isDisposed())return;const l=[];for(const t of u){const e=this._libFiles.getOrCreateModel(t.fileName);if(!e)throw new Error(`Unknown file ${t.fileName}.`);l.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,t.textSpan),text:n}})}return{edits:l}}},R=class extends f{async provideInlayHints(t,e,n){const r=t.uri,i=r.toString(),s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=await this._worker(r);return t.isDisposed()?null:{hints:(await o.provideInlayHints(i,s,a)).map((e=>({...e,label:e.text,position:t.getPositionAt(e.position),kind:this._convertHintKind(e.kind)}))),dispose:()=>{}}}_convertHintKind(t){return"Parameter"===t?c.languages.InlayHintKind.Parameter:c.languages.InlayHintKind.Type}};function P(t){F=E(t,"typescript")}function j(t){_=E(t,"javascript")}function B(){return new Promise(((t,e)=>{if(!_)return e("JavaScript not registered!");t(_)}))}function D(){return new Promise(((t,e)=>{if(!F)return e("TypeScript not registered!");t(F)}))}function E(t,e){const n=[],r=new u(e,t),i=(...t)=>r.getLanguageServiceWorker(...t),s=new m(i);return function(){const{modeConfiguration:r}=t;!function(t){for(;t.length;)t.pop().dispose()}(n),r.completionItems&&n.push(c.languages.registerCompletionItemProvider(e,new g(i))),r.signatureHelp&&n.push(c.languages.registerSignatureHelpProvider(e,new b(i))),r.hovers&&n.push(c.languages.registerHoverProvider(e,new v(i))),r.documentHighlights&&n.push(c.languages.registerDocumentHighlightProvider(e,new y(i))),r.definitions&&n.push(c.languages.registerDefinitionProvider(e,new x(s,i))),r.references&&n.push(c.languages.registerReferenceProvider(e,new S(s,i))),r.documentSymbols&&n.push(c.languages.registerDocumentSymbolProvider(e,new C(i))),r.rename&&n.push(c.languages.registerRenameProvider(e,new A(s,i))),r.documentRangeFormattingEdits&&n.push(c.languages.registerDocumentRangeFormattingEditProvider(e,new L(i))),r.onTypeFormattingEdits&&n.push(c.languages.registerOnTypeFormattingEditProvider(e,new O(i))),r.codeActions&&n.push(c.languages.registerCodeActionProvider(e,new T(i))),r.inlayHints&&n.push(c.languages.registerInlayHintsProvider(e,new R(i))),r.diagnostics&&n.push(new p(s,t,e,i))}(),i}export{f as Adapter,T as CodeActionAdaptor,x as DefinitionAdapter,p as DiagnosticsAdapter,y as DocumentHighlightAdapter,L as FormatAdapter,I as FormatHelper,O as FormatOnTypeAdapter,R as InlayHintsAdapter,k as Kind,m as LibFiles,C as OutlineAdapter,v as QuickInfoAdapter,S as ReferenceAdapter,A as RenameAdapter,b as SignatureHelpAdapter,g as SuggestAdapter,u as WorkerManager,h as flattenDiagnosticMessageText,B as getJavaScriptWorker,D as getTypeScriptWorker,j as setupJavaScript,P as setupTypeScript}
12
+ *-----------------------------------------------------------------------------*/var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,a=(t,e,a,o)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let c of i(e))s.call(t,c)||c===a||n(t,c,{get:()=>e[c],enumerable:!(o=r(e,c))||o.enumerable});return t},o=(t,e,r)=>(((t,e,r)=>{e in t?n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r})(t,"symbol"!=typeof e?e+"":e,r),r),c={};a(c,e,"default");var u=class{constructor(t,e){this._modeId=t,this._defaults=e,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker())),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange((()=>this._updateExtraLibs()))}_configChangeListener;_updateExtraLibsToken;_extraLibsChangeListener;_worker;_client;dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;const t=++this._updateExtraLibsToken,e=await this._worker.getProxy();this._updateExtraLibsToken===t&&e.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||(this._client=(async()=>(this._worker=c.editor.createWebWorker({moduleId:"vs/language/typescript/tsWorker",label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(c.editor.getModels().filter((t=>t.getLanguageId()===this._modeId)).map((t=>t.uri))):await this._worker.getProxy()))()),this._client}async getLanguageServiceWorker(...t){const e=await this._getClient();return this._worker&&await this._worker.withSyncedResources(t),e}},l={};function h(t,e,n=0){if("string"==typeof t)return t;if(void 0===t)return"";let r="";if(n){r+=e;for(let t=0;t<n;t++)r+=" "}if(r+=t.messageText,n++,t.next)for(const i of t.next)r+=h(i,e,n);return r}function d(t){return t?t.map((t=>t.text)).join(""):""}l["lib.d.ts"]=!0,l["lib.decorators.d.ts"]=!0,l["lib.decorators.legacy.d.ts"]=!0,l["lib.dom.d.ts"]=!0,l["lib.dom.iterable.d.ts"]=!0,l["lib.es2015.collection.d.ts"]=!0,l["lib.es2015.core.d.ts"]=!0,l["lib.es2015.d.ts"]=!0,l["lib.es2015.generator.d.ts"]=!0,l["lib.es2015.iterable.d.ts"]=!0,l["lib.es2015.promise.d.ts"]=!0,l["lib.es2015.proxy.d.ts"]=!0,l["lib.es2015.reflect.d.ts"]=!0,l["lib.es2015.symbol.d.ts"]=!0,l["lib.es2015.symbol.wellknown.d.ts"]=!0,l["lib.es2016.array.include.d.ts"]=!0,l["lib.es2016.d.ts"]=!0,l["lib.es2016.full.d.ts"]=!0,l["lib.es2017.d.ts"]=!0,l["lib.es2017.full.d.ts"]=!0,l["lib.es2017.intl.d.ts"]=!0,l["lib.es2017.object.d.ts"]=!0,l["lib.es2017.sharedmemory.d.ts"]=!0,l["lib.es2017.string.d.ts"]=!0,l["lib.es2017.typedarrays.d.ts"]=!0,l["lib.es2018.asyncgenerator.d.ts"]=!0,l["lib.es2018.asynciterable.d.ts"]=!0,l["lib.es2018.d.ts"]=!0,l["lib.es2018.full.d.ts"]=!0,l["lib.es2018.intl.d.ts"]=!0,l["lib.es2018.promise.d.ts"]=!0,l["lib.es2018.regexp.d.ts"]=!0,l["lib.es2019.array.d.ts"]=!0,l["lib.es2019.d.ts"]=!0,l["lib.es2019.full.d.ts"]=!0,l["lib.es2019.intl.d.ts"]=!0,l["lib.es2019.object.d.ts"]=!0,l["lib.es2019.string.d.ts"]=!0,l["lib.es2019.symbol.d.ts"]=!0,l["lib.es2020.bigint.d.ts"]=!0,l["lib.es2020.d.ts"]=!0,l["lib.es2020.date.d.ts"]=!0,l["lib.es2020.full.d.ts"]=!0,l["lib.es2020.intl.d.ts"]=!0,l["lib.es2020.number.d.ts"]=!0,l["lib.es2020.promise.d.ts"]=!0,l["lib.es2020.sharedmemory.d.ts"]=!0,l["lib.es2020.string.d.ts"]=!0,l["lib.es2020.symbol.wellknown.d.ts"]=!0,l["lib.es2021.d.ts"]=!0,l["lib.es2021.full.d.ts"]=!0,l["lib.es2021.intl.d.ts"]=!0,l["lib.es2021.promise.d.ts"]=!0,l["lib.es2021.string.d.ts"]=!0,l["lib.es2021.weakref.d.ts"]=!0,l["lib.es2022.array.d.ts"]=!0,l["lib.es2022.d.ts"]=!0,l["lib.es2022.error.d.ts"]=!0,l["lib.es2022.full.d.ts"]=!0,l["lib.es2022.intl.d.ts"]=!0,l["lib.es2022.object.d.ts"]=!0,l["lib.es2022.regexp.d.ts"]=!0,l["lib.es2022.sharedmemory.d.ts"]=!0,l["lib.es2022.string.d.ts"]=!0,l["lib.es2023.array.d.ts"]=!0,l["lib.es2023.d.ts"]=!0,l["lib.es2023.full.d.ts"]=!0,l["lib.es5.d.ts"]=!0,l["lib.es6.d.ts"]=!0,l["lib.esnext.d.ts"]=!0,l["lib.esnext.full.d.ts"]=!0,l["lib.esnext.intl.d.ts"]=!0,l["lib.scripthost.d.ts"]=!0,l["lib.webworker.d.ts"]=!0,l["lib.webworker.importscripts.d.ts"]=!0,l["lib.webworker.iterable.d.ts"]=!0;var f=class{constructor(t){this._worker=t}_textSpanToRange(t,e){let n=t.getPositionAt(e.start),r=t.getPositionAt(e.start+e.length),{lineNumber:i,column:s}=n,{lineNumber:a,column:o}=r;return{startLineNumber:i,startColumn:s,endLineNumber:a,endColumn:o}}},m=class{constructor(t){this._worker=t,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}_libFiles;_hasFetchedLibFiles;_fetchLibFilesPromise;isLibFile(t){return!!t&&0===t.path.indexOf("/lib.")&&!!l[t.path.slice(1)]}getOrCreateModel(e){const n=c.Uri.parse(e),r=c.editor.getModel(n);if(r)return r;if(this.isLibFile(n)&&this._hasFetchedLibFiles)return c.editor.createModel(this._libFiles[n.path.slice(1)],"typescript",n);const i=t.getExtraLibs()[e];return i?c.editor.createModel(i.content,"typescript",n):null}_containsLibFile(t){for(let e of t)if(this.isLibFile(e))return!0;return!1}async fetchLibFilesIfNecessary(t){this._containsLibFile(t)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then((t=>t.getLibFiles())).then((t=>{this._hasFetchedLibFiles=!0,this._libFiles=t}))),this._fetchLibFilesPromise}},p=class extends f{constructor(t,e,n,r){super(r),this._libFiles=t,this._defaults=e,this._selector=n;const i=t=>{if(t.getLanguageId()!==n)return;const e=()=>{const{onlyVisible:e}=this._defaults.getDiagnosticsOptions();e?t.isAttachedToEditor()&&this._doValidate(t):this._doValidate(t)};let r;const i=t.onDidChangeContent((()=>{clearTimeout(r),r=window.setTimeout(e,500)})),s=t.onDidChangeAttached((()=>{const{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(t.isAttachedToEditor()?e():c.editor.setModelMarkers(t,this._selector,[]))}));this._listener[t.uri.toString()]={dispose(){i.dispose(),s.dispose(),clearTimeout(r)}},e()},s=t=>{c.editor.setModelMarkers(t,this._selector,[]);const e=t.uri.toString();this._listener[e]&&(this._listener[e].dispose(),delete this._listener[e])};this._disposables.push(c.editor.onDidCreateModel((t=>i(t)))),this._disposables.push(c.editor.onWillDisposeModel(s)),this._disposables.push(c.editor.onDidChangeModelLanguage((t=>{s(t.model),i(t.model)}))),this._disposables.push({dispose(){for(const t of c.editor.getModels())s(t)}});const a=()=>{for(const t of c.editor.getModels())s(t),i(t)};this._disposables.push(this._defaults.onDidChange(a)),this._disposables.push(this._defaults.onDidExtraLibsChange(a)),c.editor.getModels().forEach((t=>i(t)))}_disposables=[];_listener=Object.create(null);dispose(){this._disposables.forEach((t=>t&&t.dispose())),this._disposables=[]}async _doValidate(t){const e=await this._worker(t.uri);if(t.isDisposed())return;const n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:s}=this._defaults.getDiagnosticsOptions();r||n.push(e.getSyntacticDiagnostics(t.uri.toString())),i||n.push(e.getSemanticDiagnostics(t.uri.toString())),s||n.push(e.getSuggestionDiagnostics(t.uri.toString()));const a=await Promise.all(n);if(!a||t.isDisposed())return;const o=a.reduce(((t,e)=>e.concat(t)),[]).filter((t=>-1===(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(t.code))),u=o.map((t=>t.relatedInformation||[])).reduce(((t,e)=>e.concat(t)),[]).map((t=>t.file?c.Uri.parse(t.file.fileName):null));await this._libFiles.fetchLibFilesIfNecessary(u),t.isDisposed()||c.editor.setModelMarkers(t,this._selector,o.map((e=>this._convertDiagnostics(t,e))))}_convertDiagnostics(t,e){const n=e.start||0,r=e.length||1,{lineNumber:i,column:s}=t.getPositionAt(n),{lineNumber:a,column:o}=t.getPositionAt(n+r),u=[];return e.reportsUnnecessary&&u.push(c.MarkerTag.Unnecessary),e.reportsDeprecated&&u.push(c.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(e.category),startLineNumber:i,startColumn:s,endLineNumber:a,endColumn:o,message:h(e.messageText,"\n"),code:e.code.toString(),tags:u,relatedInformation:this._convertRelatedInformation(t,e.relatedInformation)}}_convertRelatedInformation(t,e){if(!e)return[];const n=[];return e.forEach((e=>{let r=t;if(e.file&&(r=this._libFiles.getOrCreateModel(e.file.fileName)),!r)return;const i=e.start||0,s=e.length||1,{lineNumber:a,column:o}=r.getPositionAt(i),{lineNumber:c,column:u}=r.getPositionAt(i+s);n.push({resource:r.uri,startLineNumber:a,startColumn:o,endLineNumber:c,endColumn:u,message:h(e.messageText,"\n")})})),n}_tsDiagnosticCategoryToMarkerSeverity(t){switch(t){case 1:return c.MarkerSeverity.Error;case 3:return c.MarkerSeverity.Info;case 0:return c.MarkerSeverity.Warning;case 2:return c.MarkerSeverity.Hint}return c.MarkerSeverity.Info}},g=class extends f{get triggerCharacters(){return["."]}async provideCompletionItems(t,e,n,r){const i=t.getWordUntilPosition(e),s=new c.Range(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn),a=t.uri,o=t.getOffsetAt(e),u=await this._worker(a);if(t.isDisposed())return;const l=await u.getCompletionsAtPosition(a.toString(),o);return l&&!t.isDisposed()?{suggestions:l.entries.map((n=>{let r=s;if(n.replacementSpan){const e=t.getPositionAt(n.replacementSpan.start),i=t.getPositionAt(n.replacementSpan.start+n.replacementSpan.length);r=new c.Range(e.lineNumber,e.column,i.lineNumber,i.column)}const i=[];return void 0!==n.kindModifiers&&-1!==n.kindModifiers.indexOf("deprecated")&&i.push(c.languages.CompletionItemTag.Deprecated),{uri:a,position:e,offset:o,range:r,label:n.name,insertText:n.name,sortText:n.sortText,kind:g.convertKind(n.kind),tags:i}}))}:void 0}async resolveCompletionItem(t,e){const n=t,r=n.uri,i=n.position,s=n.offset,a=await this._worker(r),o=await a.getCompletionEntryDetails(r.toString(),s,n.label);return o?{uri:r,position:i,label:o.name,kind:g.convertKind(o.kind),detail:d(o.displayParts),documentation:{value:g.createDocumentationString(o)}}:n}static convertKind(t){switch(t){case k.primitiveType:case k.keyword:return c.languages.CompletionItemKind.Keyword;case k.variable:case k.localVariable:return c.languages.CompletionItemKind.Variable;case k.memberVariable:case k.memberGetAccessor:case k.memberSetAccessor:return c.languages.CompletionItemKind.Field;case k.function:case k.memberFunction:case k.constructSignature:case k.callSignature:case k.indexSignature:return c.languages.CompletionItemKind.Function;case k.enum:return c.languages.CompletionItemKind.Enum;case k.module:return c.languages.CompletionItemKind.Module;case k.class:return c.languages.CompletionItemKind.Class;case k.interface:return c.languages.CompletionItemKind.Interface;case k.warning:return c.languages.CompletionItemKind.File}return c.languages.CompletionItemKind.Property}static createDocumentationString(t){let e=d(t.documentation);if(t.tags)for(const n of t.tags)e+=`\n\n${w(n)}`;return e}};function w(t){let e=`*@${t.name}*`;if("param"===t.name&&t.text){const[n,...r]=t.text;e+=`\`${n.text}\``,r.length>0&&(e+=` — ${r.map((t=>t.text)).join(" ")}`)}else Array.isArray(t.text)?e+=` — ${t.text.map((t=>t.text)).join(" ")}`:t.text&&(e+=` — ${t.text}`);return e}var b=class extends f{signatureHelpTriggerCharacters=["(",","];static _toSignatureHelpTriggerReason(t){switch(t.triggerKind){case c.languages.SignatureHelpTriggerKind.TriggerCharacter:return t.triggerCharacter?t.isRetrigger?{kind:"retrigger",triggerCharacter:t.triggerCharacter}:{kind:"characterTyped",triggerCharacter:t.triggerCharacter}:{kind:"invoked"};case c.languages.SignatureHelpTriggerKind.ContentChange:return t.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};default:return{kind:"invoked"}}}async provideSignatureHelp(t,e,n,r){const i=t.uri,s=t.getOffsetAt(e),a=await this._worker(i);if(t.isDisposed())return;const o=await a.getSignatureHelpItems(i.toString(),s,{triggerReason:b._toSignatureHelpTriggerReason(r)});if(!o||t.isDisposed())return;const c={activeSignature:o.selectedItemIndex,activeParameter:o.argumentIndex,signatures:[]};return o.items.forEach((t=>{const e={label:"",parameters:[]};e.documentation={value:d(t.documentation)},e.label+=d(t.prefixDisplayParts),t.parameters.forEach(((n,r,i)=>{const s=d(n.displayParts),a={label:s,documentation:{value:d(n.documentation)}};e.label+=s,e.parameters.push(a),r<i.length-1&&(e.label+=d(t.separatorDisplayParts))})),e.label+=d(t.suffixDisplayParts),c.signatures.push(e)})),{value:c,dispose(){}}}},v=class extends f{async provideHover(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getQuickInfoAtPosition(r.toString(),i);if(!a||t.isDisposed())return;const o=d(a.documentation),c=a.tags?a.tags.map((t=>w(t))).join(" \n\n"):"",u=d(a.displayParts);return{range:this._textSpanToRange(t,a.textSpan),contents:[{value:"```typescript\n"+u+"\n```\n"},{value:o+(c?"\n\n"+c:"")}]}}},y=class extends f{async provideDocumentHighlights(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getDocumentHighlights(r.toString(),i,[r.toString()]);return a&&!t.isDisposed()?a.flatMap((e=>e.highlightSpans.map((e=>({range:this._textSpanToRange(t,e.textSpan),kind:"writtenReference"===e.kind?c.languages.DocumentHighlightKind.Write:c.languages.DocumentHighlightKind.Text}))))):void 0}},x=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideDefinition(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getDefinitionAtPosition(r.toString(),i);if(!a||t.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(a.map((t=>c.Uri.parse(t.fileName)))),t.isDisposed())return;const o=[];for(let t of a){const e=this._libFiles.getOrCreateModel(t.fileName);e&&o.push({uri:e.uri,range:this._textSpanToRange(e,t.textSpan)})}return o}},S=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideReferences(t,e,n,r){const i=t.uri,s=t.getOffsetAt(e),a=await this._worker(i);if(t.isDisposed())return;const o=await a.getReferencesAtPosition(i.toString(),s);if(!o||t.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(o.map((t=>c.Uri.parse(t.fileName)))),t.isDisposed())return;const u=[];for(let t of o){const e=this._libFiles.getOrCreateModel(t.fileName);e&&u.push({uri:e.uri,range:this._textSpanToRange(e,t.textSpan)})}return u}},C=class extends f{async provideDocumentSymbols(t,e){const n=t.uri,r=await this._worker(n);if(t.isDisposed())return;const i=await r.getNavigationTree(n.toString());if(!i||t.isDisposed())return;const s=(e,n)=>({name:e.text,detail:"",kind:N[e.kind]||c.languages.SymbolKind.Variable,range:this._textSpanToRange(t,e.spans[0]),selectionRange:this._textSpanToRange(t,e.spans[0]),tags:[],children:e.childItems?.map((t=>s(t,e.text))),containerName:n});return i.childItems?i.childItems.map((t=>s(t))):[]}},k=class{};o(k,"unknown",""),o(k,"keyword","keyword"),o(k,"script","script"),o(k,"module","module"),o(k,"class","class"),o(k,"interface","interface"),o(k,"type","type"),o(k,"enum","enum"),o(k,"variable","var"),o(k,"localVariable","local var"),o(k,"function","function"),o(k,"localFunction","local function"),o(k,"memberFunction","method"),o(k,"memberGetAccessor","getter"),o(k,"memberSetAccessor","setter"),o(k,"memberVariable","property"),o(k,"constructorImplementation","constructor"),o(k,"callSignature","call"),o(k,"indexSignature","index"),o(k,"constructSignature","construct"),o(k,"parameter","parameter"),o(k,"typeParameter","type parameter"),o(k,"primitiveType","primitive type"),o(k,"label","label"),o(k,"alias","alias"),o(k,"const","const"),o(k,"let","let"),o(k,"warning","warning");var N=Object.create(null);N[k.module]=c.languages.SymbolKind.Module,N[k.class]=c.languages.SymbolKind.Class,N[k.enum]=c.languages.SymbolKind.Enum,N[k.interface]=c.languages.SymbolKind.Interface,N[k.memberFunction]=c.languages.SymbolKind.Method,N[k.memberVariable]=c.languages.SymbolKind.Property,N[k.memberGetAccessor]=c.languages.SymbolKind.Property,N[k.memberSetAccessor]=c.languages.SymbolKind.Property,N[k.variable]=c.languages.SymbolKind.Variable,N[k.const]=c.languages.SymbolKind.Variable,N[k.localVariable]=c.languages.SymbolKind.Variable,N[k.variable]=c.languages.SymbolKind.Variable,N[k.function]=c.languages.SymbolKind.Function,N[k.localFunction]=c.languages.SymbolKind.Function;var _,I,F=class extends f{static _convertOptions(t){return{ConvertTabsToSpaces:t.insertSpaces,TabSize:t.tabSize,IndentSize:t.tabSize,IndentStyle:2,NewLineCharacter:"\n",InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(t,e){return{text:e.newText,range:this._textSpanToRange(t,e.span)}}},L=class extends F{canFormatMultipleRanges=!1;async provideDocumentRangeFormattingEdits(t,e,n,r){const i=t.uri,s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=await this._worker(i);if(t.isDisposed())return;const c=await o.getFormattingEditsForRange(i.toString(),s,a,F._convertOptions(n));return c&&!t.isDisposed()?c.map((e=>this._convertTextChanges(t,e))):void 0}},O=class extends F{get autoFormatTriggerCharacters(){return[";","}","\n"]}async provideOnTypeFormattingEdits(t,e,n,r,i){const s=t.uri,a=t.getOffsetAt(e),o=await this._worker(s);if(t.isDisposed())return;const c=await o.getFormattingEditsAfterKeystroke(s.toString(),a,n,F._convertOptions(r));return c&&!t.isDisposed()?c.map((e=>this._convertTextChanges(t,e))):void 0}},T=class extends F{async provideCodeActions(t,e,n,r){const i=t.uri,s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=F._convertOptions(t.getOptions()),c=n.markers.filter((t=>t.code)).map((t=>t.code)).map(Number),u=await this._worker(i);if(t.isDisposed())return;const l=await u.getCodeFixesAtPosition(i.toString(),s,a,c,o);return!l||t.isDisposed()?{actions:[],dispose:()=>{}}:{actions:l.filter((t=>0===t.changes.filter((t=>t.isNewFile)).length)).map((e=>this._tsCodeFixActionToMonacoCodeAction(t,n,e))),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(t,e,n){const r=[];for(const e of n.changes)for(const n of e.textChanges)r.push({resource:t.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(t,n.span),text:n.newText}});return{title:n.description,edit:{edits:r},diagnostics:e.markers,kind:"quickfix"}}},A=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideRenameEdits(t,e,n,r){const i=t.uri,s=i.toString(),a=t.getOffsetAt(e),o=await this._worker(i);if(t.isDisposed())return;const c=await o.getRenameInfo(s,a,{allowRenameOfImportPath:!1});if(!1===c.canRename)return{edits:[],rejectReason:c.localizedErrorMessage};if(void 0!==c.fileToRename)throw new Error("Renaming files is not supported.");const u=await o.findRenameLocations(s,a,!1,!1,!1);if(!u||t.isDisposed())return;const l=[];for(const t of u){const e=this._libFiles.getOrCreateModel(t.fileName);if(!e)throw new Error(`Unknown file ${t.fileName}.`);l.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,t.textSpan),text:n}})}return{edits:l}}},R=class extends f{async provideInlayHints(t,e,n){const r=t.uri,i=r.toString(),s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=await this._worker(r);return t.isDisposed()?null:{hints:(await o.provideInlayHints(i,s,a)).map((e=>({...e,label:e.text,position:t.getPositionAt(e.position),kind:this._convertHintKind(e.kind)}))),dispose:()=>{}}}_convertHintKind(t){return"Parameter"===t?c.languages.InlayHintKind.Parameter:c.languages.InlayHintKind.Type}};function P(t){I=E(t,"typescript")}function j(t){_=E(t,"javascript")}function B(){return new Promise(((t,e)=>{if(!_)return e("JavaScript not registered!");t(_)}))}function D(){return new Promise(((t,e)=>{if(!I)return e("TypeScript not registered!");t(I)}))}function E(t,e){const n=[],r=new u(e,t),i=(...t)=>r.getLanguageServiceWorker(...t),s=new m(i);return function(){const{modeConfiguration:r}=t;!function(t){for(;t.length;)t.pop().dispose()}(n),r.completionItems&&n.push(c.languages.registerCompletionItemProvider(e,new g(i))),r.signatureHelp&&n.push(c.languages.registerSignatureHelpProvider(e,new b(i))),r.hovers&&n.push(c.languages.registerHoverProvider(e,new v(i))),r.documentHighlights&&n.push(c.languages.registerDocumentHighlightProvider(e,new y(i))),r.definitions&&n.push(c.languages.registerDefinitionProvider(e,new x(s,i))),r.references&&n.push(c.languages.registerReferenceProvider(e,new S(s,i))),r.documentSymbols&&n.push(c.languages.registerDocumentSymbolProvider(e,new C(i))),r.rename&&n.push(c.languages.registerRenameProvider(e,new A(s,i))),r.documentRangeFormattingEdits&&n.push(c.languages.registerDocumentRangeFormattingEditProvider(e,new L(i))),r.onTypeFormattingEdits&&n.push(c.languages.registerOnTypeFormattingEditProvider(e,new O(i))),r.codeActions&&n.push(c.languages.registerCodeActionProvider(e,new T(i))),r.inlayHints&&n.push(c.languages.registerInlayHintsProvider(e,new R(i))),r.diagnostics&&n.push(new p(s,t,e,i))}(),i}export{f as Adapter,T as CodeActionAdaptor,x as DefinitionAdapter,p as DiagnosticsAdapter,y as DocumentHighlightAdapter,L as FormatAdapter,F as FormatHelper,O as FormatOnTypeAdapter,R as InlayHintsAdapter,k as Kind,m as LibFiles,C as OutlineAdapter,v as QuickInfoAdapter,S as ReferenceAdapter,A as RenameAdapter,b as SignatureHelpAdapter,g as SuggestAdapter,u as WorkerManager,h as flattenDiagnosticMessageText,B as getJavaScriptWorker,D as getTypeScriptWorker,j as setupJavaScript,P as setupTypeScript}
@@ -0,0 +1,6 @@
1
+ /*!
2
+ * All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ * See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
+ * v4.31.0-next.21
5
+ */
6
+ import{r as e,h as i,H as s,a}from"./p-57b8bcd7.js";import{u as o,s as t}from"./p-f2d64a9d.js";import{o as r}from"./p-d7d1f130.js";const l=class{constructor(i){e(this,i),this.manager=o(this),this._modelId=r(),this._insertAsSnippet=e=>{this._codeEditorElt?.insertSnippet(e.detail).catch(console.error)},this._preparing=!1,this._editorProfile=void 0,this._activeAction=void 0,this._apiLibrary=void 0,this.profile=void 0}_profileChanged(){this._updateSqlExprDefaults().catch(console.error)}async _updateSqlExprDefaults(){this._preparing=!0;try{await t.setProfileForModel(this._modelId,this.profile),this._apiLibrary=await t.getApiLibrary(this._modelId)}catch{this._editorProfile=void 0}finally{this._preparing=!1}}_setActiveAction(e){this._activeAction=e}_handleActionClick(e){this._setActiveAction(e.target.dataset.panelName)}async componentWillLoad(){await this._updateSqlExprDefaults().catch(console.error)}disconnectedCallback(){t.disposeForModel(this._modelId)}render(){return i(s,{key:"67f7ebf7a28a8ffc3fe967721389d45c4e2003a1"},i("div",{key:"b3bf4ec2a8d04105e97489593ccec95cd33237f0",class:"flex-row flex-adjustable"},i("div",{key:"fdac47e22baf64c72f786f9e09b637050f417f94",class:"flex-column flex-adjustable"},i("arcgis-code-editor",{key:"f4151dd39ec3523907cd907ebb7558e05bca9cc1",language:"arcgis-sql-expression",modelId:this._modelId,ref:e=>this._codeEditorElt=e})),"fields"===this._activeAction&&i("arcgis-sql-expression-fields",{key:"aa0e5d88429d4bf865b9adc506028efefec1a73a",class:"side-panel flex-panel border-inline-start",loading:this._preparing,modelId:this._modelId,"data-panel-name":"none",onArcgisFieldSelected:this._insertAsSnippet,onArcgisClose:()=>this._setActiveAction(void 0)}),"functions"===this._activeAction&&i("arcgis-language-api-panel",{key:"7826dbb1b08894c6c6385806a3aef6cff77395d0",class:"side-panel flex-panel border-inline-start",onArcgisItemSelected:this._insertAsSnippet,onArcgisClose:()=>this._setActiveAction(void 0),loading:this._preparing,apiLibrary:this._apiLibrary,"data-panel-name":"none"}),i("calcite-action-bar",{key:"ee618d666b70405495627a9d15238e8723c6f961",class:"side-action-bar border-inline-start",expanded:!1,position:"end"},i("calcite-action",{key:"2c828df5dded6347e13e59ba9e313824baa606ff",id:"fields-action",text:"Fields",icon:"profile-variables",active:"fields"===this._activeAction,"data-panel-name":"fields",onClick:e=>this._handleActionClick(e)}),i("calcite-action",{key:"eab785c5b14cadeb5047db1957134f5accfedc76",id:"functions-action",text:"Functions",icon:"function",active:"functions"===this._activeAction,"data-panel-name":"functions",onClick:e=>this._handleActionClick(e)}))))}static get assetsDirs(){return["assets"]}get el(){return a(this)}static get watchers(){return{profile:["_profileChanged"]}}};l.style="arcgis-sql-expression-editor{display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid var(--calcite-color-border-3);box-sizing:border-box;background-color:var(--calcite-color-foreground-1);height:100%}arcgis-sql-expression-editor .flex-adjustable{flex:1 1 auto;overflow:hidden}arcgis-sql-expression-editor .flex-panel{flex:1 0 auto}arcgis-sql-expression-editor .position-relative{position:relative}arcgis-sql-expression-editor .flex-row{display:flex;flex-direction:row;overflow:hidden}arcgis-sql-expression-editor .flex-column{display:flex;flex-direction:column;overflow:hidden}arcgis-sql-expression-editor .border-inline-start{border-inline-start:1px solid var(--calcite-color-border-3);box-sizing:border-box}arcgis-sql-expression-editor .border-inline-end{border-inline-end:1px solid var(--calcite-color-border-3);box-sizing:border-box}arcgis-sql-expression-editor .side-action-bar{max-width:25%}arcgis-sql-expression-editor .side-panel{max-width:45%;width:600px}arcgis-sql-expression-editor .side-panel calcite-flow{height:100%}";export{l as arcgis_sql_expression_editor}
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  * See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
- * v4.31.0-next.2
4
+ * v4.31.0-next.21
5
5
  */
6
6
  'use strict';
7
7
 
@@ -0,0 +1,349 @@
1
+ /*!
2
+ * All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ * See https://js.arcgis.com/4.31/esri/copyright.txt for details.
4
+ * v4.31.0-next.21
5
+ */
6
+ 'use strict';
7
+
8
+ const languageDefaultsBase = require('./language-defaults-base-57b37f9f.js');
9
+ const index = require('./index-4b7880ab.js');
10
+
11
+ /**
12
+ * Returns the arcade diagnostic service.
13
+ * Example:
14
+ * ```ts
15
+ * const diagnosticService = await getArcadeDiagnosticService();
16
+ * diagnosticService.onDidChangeDiagnostics(({uri, diaganostics }) => {
17
+ * // Filter the diagnostics for the uri of interest
18
+ * // Do something with the diagnostics
19
+ * });
20
+ * ```
21
+ */
22
+ async function getArcadeDiagnosticService() {
23
+ const mode = await getMode();
24
+ return mode.getArcadeDiagnosticService();
25
+ }
26
+ /**
27
+ * Returns the arcade worker for the model.
28
+ * Example:
29
+ * ```ts
30
+ * const arcadeWorker = await getArcadeWorker(model.uri);
31
+ * ```
32
+ * @returns arcade worker
33
+ */
34
+ async function getArcadeWorker(uri) {
35
+ const mode = await getMode();
36
+ return await mode.getArcadeWorker(uri);
37
+ }
38
+ /**
39
+ * Request the arcade mode
40
+ * @returns arcade mode module
41
+ */
42
+ async function getMode() {
43
+ return await Promise.resolve().then(function () { return require('./arcade-mode-cc08d9cd.js'); });
44
+ }
45
+
46
+ // #region convert editor profile to apiProfile
47
+ /**
48
+ * Converts an editor profile to an api profile.
49
+ * The api profile is an optimized version of the editor profile designed for minimal data transfer between the main thread and the worker.
50
+ */
51
+ async function arcadeEditorToApiProfile(editorProfile) {
52
+ const { apiVersion, bundles, hiddenApiItems } = editorProfile.toEditorProfileDefinition();
53
+ const variables = await variablesToLSVariable(editorProfile.dictionaryVariables);
54
+ return { apiVersion, bundles, variables, hiddenApiItems: hiddenApiItems?.map((s) => s.toLowerCase()) };
55
+ }
56
+ async function variablesToLSVariable(editorVariables, kind = languageDefaultsBase.main.exports.CompletionItemKind.Variable) {
57
+ return await Promise.all(editorVariables.map(async (editorVariable) => {
58
+ switch (editorVariable.type) {
59
+ case "dictionary":
60
+ return await dictionaryToLSDictionary(editorVariable, kind);
61
+ case "feature":
62
+ return await featureToLSFeature(editorVariable, kind);
63
+ default:
64
+ return variableToLSVariable(editorVariable, kind);
65
+ }
66
+ }));
67
+ }
68
+ function variableToLSVariable(editorVariable, kind) {
69
+ const { name, type } = editorVariable;
70
+ const description = editorVariable.getDescription();
71
+ return {
72
+ name,
73
+ description,
74
+ type,
75
+ completion: {
76
+ label: name,
77
+ detail: name,
78
+ insertText: name,
79
+ insertTextMode: languageDefaultsBase.main.exports.InsertTextMode.asIs,
80
+ insertTextFormat: languageDefaultsBase.main.exports.InsertTextFormat.PlainText,
81
+ kind,
82
+ documentation: { kind: "markdown", value: description },
83
+ },
84
+ };
85
+ }
86
+ async function featureToLSFeature(editorFeature, kind) {
87
+ // Get the source for the definition
88
+ const source = await editorFeature.loadSource();
89
+ const { name } = editorFeature;
90
+ const description = editorFeature.getDescription();
91
+ const resultCompletion = {
92
+ label: name,
93
+ detail: name,
94
+ insertText: name,
95
+ insertTextMode: languageDefaultsBase.main.exports.InsertTextMode.asIs,
96
+ insertTextFormat: languageDefaultsBase.main.exports.InsertTextFormat.PlainText,
97
+ kind,
98
+ };
99
+ const result = {
100
+ name,
101
+ description,
102
+ type: "dictionary",
103
+ properties: [],
104
+ completion: resultCompletion,
105
+ };
106
+ // No source definition, then it will be a feature without any known fields
107
+ if (!source) {
108
+ return result;
109
+ }
110
+ // Create properties for the fields and the aliases
111
+ // Also improve the feature completion documentation
112
+ const [properties, featureCompletionDescription] = languageDefaultsBase.fieldsToProfileValues(source.fields, description, true);
113
+ result.properties = properties;
114
+ resultCompletion.documentation = { kind: "markdown", value: featureCompletionDescription };
115
+ return result;
116
+ }
117
+ async function dictionaryToLSDictionary(editorDictionary, kind) {
118
+ const { name, dictionaryVariables: variables } = editorDictionary;
119
+ const description = editorDictionary.getDescription();
120
+ const completionDescription = variables.reduce((previous, p) => {
121
+ if (previous !== "") {
122
+ previous += " \n \n";
123
+ }
124
+ previous += `**${p.name}** \n${p.type}`;
125
+ const description = p.getDescription();
126
+ if (description) {
127
+ previous += ` \n${description}`;
128
+ }
129
+ return previous;
130
+ }, description);
131
+ return {
132
+ name,
133
+ description,
134
+ type: "dictionary",
135
+ properties: await variablesToLSVariable(variables, languageDefaultsBase.main.exports.CompletionItemKind.Field),
136
+ completion: {
137
+ label: name,
138
+ detail: name,
139
+ insertText: name,
140
+ insertTextMode: languageDefaultsBase.main.exports.InsertTextMode.asIs,
141
+ insertTextFormat: languageDefaultsBase.main.exports.InsertTextFormat.PlainText,
142
+ kind,
143
+ documentation: { kind: "markdown", value: completionDescription },
144
+ },
145
+ };
146
+ }
147
+ // #endregion
148
+ // #region predefined profile to editor profile definition
149
+ /**
150
+ * Get a PredefinedProfile for a locale. If not already loaded then fetch it.
151
+ * If the locale doesn't exist or the locale profile file doesn't exist then returns
152
+ * the english version of the profile.
153
+ */
154
+ async function getSdkPredefinedProfiles(locale = "en") {
155
+ const profiles = sdkPredefinedProfilesMap.get(locale);
156
+ if (profiles) {
157
+ return profiles;
158
+ }
159
+ if (!languageDefaultsBase.supportedLocales.has(locale)) {
160
+ return await getSdkPredefinedProfiles("en");
161
+ }
162
+ try {
163
+ const response = await fetch(index.getAssetPath(`./assets/arcade-language/profiles/arcade-profiles.t9n.${locale}.json`));
164
+ if (response.ok) {
165
+ return cacheSdkPredefinedProfiles(locale, (await response.json()));
166
+ }
167
+ if (locale === "en") {
168
+ return null;
169
+ }
170
+ return await getSdkPredefinedProfiles("en");
171
+ }
172
+ catch {
173
+ return null;
174
+ }
175
+ }
176
+ const sdkPredefinedProfilesMap = new Map();
177
+ /**
178
+ * Convert a stored profile into a PredefinedProfile and add it to the in-memory
179
+ * Map of profiles per locale.
180
+ */
181
+ function cacheSdkPredefinedProfiles(locale, profiles) {
182
+ const map = new Map();
183
+ profiles.forEach((profile) => {
184
+ map.set(profile.id, profile);
185
+ });
186
+ sdkPredefinedProfilesMap.set(locale, map);
187
+ return map;
188
+ }
189
+ async function getSdkPredefinedProfile(id, locale = "en") {
190
+ const profiles = await getSdkPredefinedProfiles(locale);
191
+ return profiles?.get(id) ?? null;
192
+ }
193
+ function isExtendedPredefinedProfileDefinition(item) {
194
+ return !!item && typeof item === "object" && "additionalVariables" in item && Array.isArray(item.additionalVariables);
195
+ }
196
+ function convertApiVariables(variables) {
197
+ return variables?.map(convertApiVariable);
198
+ }
199
+ function convertApiVariable(variable) {
200
+ switch (variable.type) {
201
+ case "dictionary":
202
+ return {
203
+ ...variable,
204
+ type: variable.type,
205
+ properties: convertApiVariables(variable.properties),
206
+ };
207
+ case "array": {
208
+ return {
209
+ ...variable,
210
+ type: variable.type,
211
+ elementType: { type: "number", name: "number" },
212
+ };
213
+ }
214
+ default:
215
+ return { ...variable, type: variable.type };
216
+ }
217
+ }
218
+ async function convertToEditorProfileDefinition(predefinedProfile, locale = "en") {
219
+ if (!languageDefaultsBase.isPredefinedProfile(predefinedProfile)) {
220
+ return undefined;
221
+ }
222
+ const sdkPredefinedProfile = await getSdkPredefinedProfile(predefinedProfile.id, locale);
223
+ if (!sdkPredefinedProfile) {
224
+ return undefined;
225
+ }
226
+ const editorProfile = {
227
+ bundles: [...sdkPredefinedProfile.bundles],
228
+ variables: [],
229
+ hiddenApiItems: predefinedProfile.hiddenApiItems?.map((s) => s.toLowerCase()),
230
+ };
231
+ // Merge the SDK variables' definitions/properties with the predefined profile definitions.
232
+ sdkPredefinedProfile.variables.forEach((predefinedVariable) => {
233
+ // Don't include disabled variables
234
+ if (predefinedProfile.disabledVariables?.includes(predefinedVariable.name)) {
235
+ return;
236
+ }
237
+ // Try to get a definition from the predefined profile, for the variable that needs one.
238
+ const definition = predefinedProfile.definitions[predefinedVariable.name];
239
+ // Note: Something is weird with TS. The sdkVariables are being casted to the wrong type
240
+ // despite the type checking from the switch statement.
241
+ switch (predefinedVariable.type) {
242
+ case "dictionary": {
243
+ // For dictionary, we support properties overrride
244
+ return editorProfile.variables.push(convertApiVariable({
245
+ ...predefinedVariable,
246
+ type: predefinedVariable.type,
247
+ properties: Array.isArray(definition) ? [...definition] : predefinedVariable.properties,
248
+ }));
249
+ }
250
+ case "feature":
251
+ // If the definition is not valid, then we don't include it.
252
+ if (!languageDefaultsBase.isFeatureDefinition(definition)) {
253
+ return;
254
+ }
255
+ return editorProfile.variables.push({ ...predefinedVariable, type: predefinedVariable.type, definition });
256
+ case "featureSet":
257
+ // If the definition is not valid, then we don't include it.
258
+ if (!languageDefaultsBase.isFeatureSetDefinition(definition)) {
259
+ return;
260
+ }
261
+ return editorProfile.variables.push({ ...predefinedVariable, type: predefinedVariable.type, definition });
262
+ case "featureSetCollection":
263
+ // If the definition is not valid, then we don't include it.
264
+ if (!languageDefaultsBase.isFeatureSetCollectionDefinition(definition)) {
265
+ return;
266
+ }
267
+ return editorProfile.variables.push({ ...predefinedVariable, type: predefinedVariable.type, definition });
268
+ default:
269
+ return editorProfile.variables.push(convertApiVariable(predefinedVariable));
270
+ }
271
+ });
272
+ if (isExtendedPredefinedProfileDefinition(predefinedProfile)) {
273
+ editorProfile.variables.push(...(predefinedProfile.additionalVariables ?? []));
274
+ }
275
+ return editorProfile;
276
+ }
277
+ // #endregion
278
+
279
+ const arcadeLanguageId = "arcade";
280
+ class ArcadeLanguageServiceDefaults extends languageDefaultsBase.LanguageDefaultsBase {
281
+ constructor() {
282
+ super(...arguments);
283
+ this._languageId = arcadeLanguageId;
284
+ this._languageOptions = {};
285
+ }
286
+ /**
287
+ * Create an EditorProfile for the given model id using the given definition and locale.
288
+ * The EditorProfile is used by the the Arcade Language service as well by the cosing components.
289
+ * The definition can be a pre-defined profile or an editor profile definition.
290
+ * If the locale is not provided then the 'en' locale is used.
291
+ * @param modelId The model id for which to create the context.
292
+ * @param definition The definition to use for the model context.
293
+ * @param locale The locale to use for the model context.
294
+ * @returns The EditorProfile for the model.
295
+ */
296
+ async setProfileForModel(modelId, definition, apiContext = { locale: "en" }) {
297
+ // Convert pre-defined profile to a runtime profile
298
+ if (languageDefaultsBase.isPredefinedProfile(definition)) {
299
+ definition = await convertToEditorProfileDefinition(definition, apiContext.locale);
300
+ }
301
+ const profileStrings = await languageDefaultsBase.fetchT9nStringsBundle(apiContext.locale, index.getAssetPath("./assets/arcade-language/t9n"), "profile.t9n.");
302
+ if (!profileStrings) {
303
+ throw new Error(`Failed to load the language bundle for ${apiContext.locale}`);
304
+ }
305
+ this.disposeForModel(modelId);
306
+ const key = this._getApiKey(modelId);
307
+ const editorProfile = new languageDefaultsBase.EditorProfile(definition, profileStrings);
308
+ this._profileMap.set(key, editorProfile);
309
+ const apiProfile = await arcadeEditorToApiProfile(editorProfile);
310
+ this.updateApiContextForModel(modelId, {
311
+ locale: apiContext.locale,
312
+ profile: apiProfile,
313
+ snippets: apiContext.snippets,
314
+ });
315
+ }
316
+ /**
317
+ * Set or update the Arcade language service options.
318
+ * @param languageOptions The language options to set.
319
+ */
320
+ setLanguageOptions(languageOptions = {}) {
321
+ // Check if options have actually changed.
322
+ // Avoid restarting the worker when no updates.
323
+ // Today we only have the 'assetsPath' as a property
324
+ if (this._languageOptions.assetsPath === languageOptions.assetsPath) {
325
+ return;
326
+ }
327
+ this._languageOptions = { ...this._languageOptions, ...languageOptions };
328
+ this._onDidChange.fire(this);
329
+ }
330
+ /**
331
+ * Gets the API library for the given model id.
332
+ * @param modelId The model id for which to get the API library.
333
+ * @returns The API library for the model.
334
+ */
335
+ async getApiLibrary(modelId) {
336
+ const uri = languageDefaultsBase.Uri.parse(modelId);
337
+ const worker = await getArcadeWorker(uri);
338
+ return await worker.getApiLibrary(this.getApiContextForModel(uri));
339
+ }
340
+ }
341
+ const arcadeDefaults = new ArcadeLanguageServiceDefaults();
342
+ const arcade = {
343
+ setProfileForModel: arcadeDefaults.setProfileForModel.bind(arcadeDefaults),
344
+ };
345
+
346
+ exports.arcade = arcade;
347
+ exports.arcadeDefaults = arcadeDefaults;
348
+ exports.getArcadeDiagnosticService = getArcadeDiagnosticService;
349
+ exports.getMode = getMode;