@arcgis/coding-components 4.30.0 → 4.31.0-next.10

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 (215) hide show
  1. package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +3 -3
  2. package/dist/arcgis-coding-components/assets/code-editor/arcade.worker.js +13 -13
  3. package/dist/arcgis-coding-components/assets/code-editor/css.worker.js +1 -1
  4. package/dist/arcgis-coding-components/assets/code-editor/html.worker.js +1 -1
  5. package/dist/arcgis-coding-components/assets/code-editor/json.worker.js +1 -1
  6. package/dist/arcgis-coding-components/assets/code-editor/sql-expr.worker.js +11 -0
  7. package/dist/arcgis-coding-components/assets/code-editor/ts.worker.js +1 -1
  8. package/dist/arcgis-coding-components/assets/sql-expression-editor/api/sql-expression-api.t9n.en.json +735 -0
  9. package/dist/arcgis-coding-components/index.esm.js +3 -3
  10. package/dist/arcgis-coding-components/p-025fda85.js +6 -0
  11. package/dist/arcgis-coding-components/{p-b7981062.js → p-02cae55d.js} +4 -4
  12. package/dist/arcgis-coding-components/p-193ac44f.js +6 -0
  13. package/dist/arcgis-coding-components/{p-ed5c78ce.js → p-22253750.js} +2 -2
  14. package/dist/arcgis-coding-components/p-4fc79a07.entry.js +6 -0
  15. package/dist/arcgis-coding-components/p-50484a4f.js +6 -0
  16. package/dist/arcgis-coding-components/p-6e28fd70.js +6 -0
  17. package/dist/arcgis-coding-components/p-7164c348.js +6 -0
  18. package/dist/arcgis-coding-components/p-767b17ee.entry.js +6 -0
  19. package/dist/arcgis-coding-components/{p-69ef969a.js → p-790067b1.js} +11 -11
  20. package/dist/arcgis-coding-components/{p-e9510c84.js → p-8196fa73.js} +3 -3
  21. package/dist/arcgis-coding-components/{p-f40fe9c5.js → p-8cf09bcc.js} +2 -2
  22. package/dist/arcgis-coding-components/{p-ca3f5530.js → p-923858b5.js} +3 -3
  23. package/dist/arcgis-coding-components/{p-ae0db715.js → p-960aa9dc.js} +3 -3
  24. package/dist/arcgis-coding-components/p-9956a574.js +6 -0
  25. package/dist/arcgis-coding-components/{p-9770fb37.js → p-ab78d6c4.js} +4 -4
  26. package/dist/arcgis-coding-components/{p-e37595ba.js → p-ad75160d.js} +4 -4
  27. package/dist/arcgis-coding-components/{p-24fb1d11.js → p-da9431ba.js} +3 -3
  28. package/dist/arcgis-coding-components/p-f452d4b8.entry.js +6 -0
  29. package/dist/cjs/{app-globals-18ba6880.js → app-globals-bade840e.js} +2 -2
  30. package/dist/cjs/arcade-defaults-8b8d6c07.js +116 -0
  31. package/dist/cjs/arcade-language-features-747fb1da.js +274 -0
  32. package/dist/cjs/arcade-mode-dce44622.js +336 -0
  33. package/dist/cjs/{arcgis-arcade-api_6.cjs.entry.js → arcgis-arcade-editor_6.cjs.entry.js} +3806 -5154
  34. package/dist/cjs/arcgis-coding-components.cjs.js +5 -5
  35. package/dist/cjs/arcgis-sql-expression-editor.cjs.entry.js +81 -0
  36. package/dist/cjs/arcgis-sql-expression-fields.cjs.entry.js +80 -0
  37. package/dist/cjs/{css-d8a65bb9.js → css-077ba0c5.js} +2 -2
  38. package/dist/cjs/{cssMode-07dbb853.js → cssMode-7f2030db.js} +5 -5
  39. package/dist/cjs/{html-bb10cced.js → html-e3a243e9.js} +5 -5
  40. package/dist/cjs/{htmlMode-7df0a09d.js → htmlMode-c273d6dc.js} +5 -5
  41. package/dist/cjs/{index-15bcce7e.js → index-37a86ff4.js} +12 -4
  42. package/dist/cjs/index.cjs.js +5 -4
  43. package/dist/cjs/{javascript-f0dbed11.js → javascript-7a33cca7.js} +5 -5
  44. package/dist/cjs/{jsonMode-9e54e9b7.js → jsonMode-6b4e0850.js} +5 -5
  45. package/dist/cjs/{arcade-defaults-d0931224.js → language-defaults-base-b32cb091.js} +88 -144
  46. package/dist/cjs/loader.cjs.js +5 -5
  47. package/dist/cjs/sql-expr-defaults-8a5834f3.js +1280 -0
  48. package/dist/cjs/sql-expr-mode-a72a1f92.js +21838 -0
  49. package/dist/cjs/{tsMode-ca28bc5f.js → tsMode-c2edcd57.js} +6 -6
  50. package/dist/cjs/{typescript-39540ed7.js → typescript-c50c5516.js} +5 -5
  51. package/dist/components/arcade-defaults.js +47 -1537
  52. package/dist/components/arcade-language-features.js +271 -0
  53. package/dist/components/arcade-mode.js +7 -267
  54. package/dist/components/arcade-results.js +7 -7
  55. package/dist/components/arcade-suggestions.js +8 -8
  56. package/dist/components/arcade-variables.js +7 -7
  57. package/dist/components/arcgis-arcade-editor.js +49 -50
  58. package/dist/components/arcgis-arcade-results.js +2 -2
  59. package/dist/components/arcgis-arcade-suggestions.js +2 -2
  60. package/dist/components/arcgis-arcade-variables.js +2 -2
  61. package/dist/components/arcgis-assets.d.ts +2 -2
  62. package/dist/components/arcgis-assets.js +3 -3
  63. package/dist/components/arcgis-code-editor.js +2 -2
  64. package/dist/components/arcgis-language-api-panel.d.ts +11 -0
  65. package/dist/components/arcgis-language-api-panel.js +11 -0
  66. package/dist/components/arcgis-sql-expression-editor.d.ts +11 -0
  67. package/dist/components/arcgis-sql-expression-editor.js +120 -0
  68. package/dist/components/arcgis-sql-expression-fields.d.ts +11 -0
  69. package/dist/components/arcgis-sql-expression-fields.js +11 -0
  70. package/dist/components/chunk-3IUJHIAA.js +1154 -0
  71. package/dist/components/code-editor.js +186 -17
  72. package/dist/components/fields.js +3 -3
  73. package/dist/components/index.js +2 -2
  74. package/dist/components/index2.js +31 -23
  75. package/dist/components/{arcade-api.js → language-api-panel.js} +29 -60
  76. package/dist/components/language-defaults-base.js +1535 -0
  77. package/dist/components/markdown.js +3 -3
  78. package/dist/components/sql-expr-defaults.js +131 -0
  79. package/dist/components/sql-expr-mode.js +21836 -0
  80. package/dist/components/sql-expression-fields.js +102 -0
  81. package/dist/components/useT9n.js +46 -9
  82. package/dist/components/utilities.js +2 -2
  83. package/dist/esm/{app-globals-2a0e9afb.js → app-globals-ed47e16d.js} +2 -2
  84. package/dist/esm/arcade-defaults-562fe19b.js +111 -0
  85. package/dist/esm/arcade-language-features-8edb3527.js +269 -0
  86. package/dist/esm/{arcade-mode-e9728a63.js → arcade-mode-ad036f46.js} +7 -266
  87. package/dist/esm/{arcgis-arcade-api_6.entry.js → arcgis-arcade-editor_6.entry.js} +3793 -5141
  88. package/dist/esm/arcgis-coding-components.js +6 -6
  89. package/dist/esm/arcgis-sql-expression-editor.entry.js +77 -0
  90. package/dist/esm/arcgis-sql-expression-fields.entry.js +76 -0
  91. package/dist/esm/{css-61c794c2.js → css-810518f1.js} +2 -2
  92. package/dist/esm/{cssMode-6e0ccd51.js → cssMode-a7208024.js} +4 -4
  93. package/dist/esm/{html-44ad432e.js → html-e187d7d8.js} +4 -4
  94. package/dist/esm/{htmlMode-fd336434.js → htmlMode-06b7bae2.js} +4 -4
  95. package/dist/esm/{index-0d124a57.js → index-3743d31f.js} +12 -4
  96. package/dist/esm/index.js +5 -4
  97. package/dist/esm/{javascript-ac057954.js → javascript-04a3f866.js} +5 -5
  98. package/dist/esm/{jsonMode-ea8fa529.js → jsonMode-ee8bb2ea.js} +4 -4
  99. package/dist/esm/{arcade-defaults-811bdd4d.js → language-defaults-base-52a397f5.js} +82 -142
  100. package/dist/esm/loader.js +6 -6
  101. package/dist/esm/sql-expr-defaults-f7c2d5ef.js +1274 -0
  102. package/dist/esm/sql-expr-mode-433b4a39.js +21835 -0
  103. package/dist/esm/{tsMode-af9c3001.js → tsMode-c80c462e.js} +4 -4
  104. package/dist/esm/{typescript-baec45d6.js → typescript-a9b8caa7.js} +4 -4
  105. package/dist/loader/cdn.js +2 -2
  106. package/dist/loader/index.cjs.js +2 -2
  107. package/dist/loader/index.es2017.js +2 -2
  108. package/dist/loader/index.js +2 -2
  109. package/dist/types/components/arcade-editor/arcade-editor.d.ts +45 -10
  110. package/dist/types/components/arcade-results/arcade-results.d.ts +43 -1
  111. package/dist/types/components/arcade-suggestions/arcade-suggestions.d.ts +22 -1
  112. package/dist/types/components/arcade-variables/arcade-variables.d.ts +28 -1
  113. package/dist/types/components/code-editor/code-editor.d.ts +16 -5
  114. package/dist/types/components/language-api-panel/language-api-panel.d.ts +73 -0
  115. package/dist/types/components/sql-expression-editor/sql-expression-editor.d.ts +24 -0
  116. package/dist/types/components/sql-expression-fields/sql-expression-fields.d.ts +32 -0
  117. package/dist/types/components.d.ts +148 -70
  118. 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
  119. package/dist/types/dependencies.d.ts +21 -0
  120. package/dist/types/utils/arcade-monaco/arcade-contribution.d.ts +1 -24
  121. package/dist/types/utils/arcade-monaco/arcade-defaults.d.ts +12 -49
  122. package/dist/types/utils/arcade-monaco/arcade-language-features.d.ts +6 -4
  123. package/dist/types/utils/arcade-monaco/arcade-mode.d.ts +3 -2
  124. package/dist/types/utils/arcade-monaco/arcade-service-accessors.d.ts +31 -0
  125. package/dist/types/utils/arcade-monaco/arcade-worker-manager.d.ts +3 -2
  126. package/dist/types/utils/arcade-monaco/arcade.worker.d.ts +5 -5
  127. package/dist/types/utils/arcade-monaco/types.d.ts +6 -35
  128. package/dist/types/utils/language-defaults-base.d.ts +69 -0
  129. package/dist/types/utils/profile/predefined-profile.d.ts +3 -1
  130. package/dist/types/utils/profile/types.d.ts +29 -69
  131. package/dist/types/utils/profile/utils.d.ts +4 -7
  132. package/dist/types/utils/sql-expr-monaco/DependentFiles/DateOnly.d.ts +41 -0
  133. package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlInterval.d.ts +16 -0
  134. package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlTimestampOffset.d.ts +26 -0
  135. package/dist/types/utils/sql-expr-monaco/DependentFiles/TimeOnly.d.ts +37 -0
  136. package/dist/types/utils/sql-expr-monaco/DependentFiles/UnknownTimeZone.d.ts +11 -0
  137. package/dist/types/utils/sql-expr-monaco/DependentFiles/WhereGrammar.d.ts +122 -0
  138. package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlCompareUtils.d.ts +5 -0
  139. package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlDateParsingUtils.d.ts +18 -0
  140. package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlUtils.d.ts +6 -0
  141. package/dist/types/utils/sql-expr-monaco/DependentFiles/standardizedFunctions.d.ts +156 -0
  142. package/dist/types/utils/sql-expr-monaco/DependentFiles/support.d.ts +150 -0
  143. package/dist/types/utils/sql-expr-monaco/PeggyGrammar/sql92grammar.d.ts +1397 -0
  144. package/dist/types/utils/sql-expr-monaco/libraries/date/properties/index.d.ts +59 -0
  145. package/dist/types/utils/sql-expr-monaco/libraries/numeric/properties/index.d.ts +295 -0
  146. package/dist/types/utils/sql-expr-monaco/libraries/string/properties/index.d.ts +135 -0
  147. package/dist/types/utils/sql-expr-monaco/sql-expr-completion.d.ts +6 -0
  148. package/dist/types/utils/sql-expr-monaco/sql-expr-contribution.d.ts +11 -0
  149. package/dist/types/utils/sql-expr-monaco/sql-expr-defaults.d.ts +22 -0
  150. package/dist/types/utils/sql-expr-monaco/sql-expr-language-features.d.ts +61 -0
  151. package/dist/types/utils/sql-expr-monaco/sql-expr-language-syntax.d.ts +8 -0
  152. package/dist/types/utils/sql-expr-monaco/sql-expr-mode.d.ts +10 -0
  153. package/dist/types/utils/sql-expr-monaco/sql-expr-validation-adapter.d.ts +3 -0
  154. package/dist/types/utils/sql-expr-monaco/sql-expr-validation-diagnostic-adapter.d.ts +41 -0
  155. package/dist/types/utils/sql-expr-monaco/sql-expr-validation-utils.d.ts +99 -0
  156. package/dist/types/utils/sql-expr-monaco/sql-expr-validation.d.ts +41 -0
  157. package/dist/types/utils/sql-expr-monaco/sql-expr-worker-manager.d.ts +15 -0
  158. package/dist/types/utils/sql-expr-monaco/sql-expr.worker.d.ts +21 -0
  159. package/dist/types/utils/sql-expr-monaco/types.d.ts +91 -0
  160. package/dist/types/utils/sql-expr-profile/predefined-profile.d.ts +2 -0
  161. package/package.json +23 -17
  162. package/dist/arcgis-coding-components/p-98cf909d.js +0 -6
  163. package/dist/arcgis-coding-components/p-bf047552.entry.js +0 -6
  164. package/dist/arcgis-coding-components/p-f602fc86.js +0 -6
  165. package/dist/cjs/arcade-mode-8424eafa.js +0 -595
  166. package/dist/components/arcade-contribution.js +0 -181
  167. package/dist/components/arcgis-arcade-api.d.ts +0 -11
  168. package/dist/components/arcgis-arcade-api.js +0 -11
  169. package/dist/components/chunk-2CDDVOQU.js +0 -1364
  170. package/dist/types/components/arcade-api/arcade-api.d.ts +0 -45
  171. package/dist/types/components/arcade-api/t9n-types.d.ts +0 -8
  172. package/dist/types/components/arcade-editor/t9n-types.d.ts +0 -8
  173. package/dist/types/components/arcade-results/t9n-types.d.ts +0 -13
  174. package/dist/types/components/arcade-suggestions/t9n-types.d.ts +0 -6
  175. package/dist/types/components/arcade-variables/t9n-types.d.ts +0 -8
  176. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ar.json → language-api-panel/t9n/language-api-panel.t9n.ar.json} +0 -0
  177. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.bg.json → language-api-panel/t9n/language-api-panel.t9n.bg.json} +0 -0
  178. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.bs.json → language-api-panel/t9n/language-api-panel.t9n.bs.json} +0 -0
  179. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ca.json → language-api-panel/t9n/language-api-panel.t9n.ca.json} +0 -0
  180. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.cs.json → language-api-panel/t9n/language-api-panel.t9n.cs.json} +0 -0
  181. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.da.json → language-api-panel/t9n/language-api-panel.t9n.da.json} +0 -0
  182. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.de.json → language-api-panel/t9n/language-api-panel.t9n.de.json} +0 -0
  183. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.el.json → language-api-panel/t9n/language-api-panel.t9n.el.json} +0 -0
  184. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.en.json → language-api-panel/t9n/language-api-panel.t9n.en.json} +0 -0
  185. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.es.json → language-api-panel/t9n/language-api-panel.t9n.es.json} +0 -0
  186. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.et.json → language-api-panel/t9n/language-api-panel.t9n.et.json} +0 -0
  187. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.fi.json → language-api-panel/t9n/language-api-panel.t9n.fi.json} +0 -0
  188. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.fr.json → language-api-panel/t9n/language-api-panel.t9n.fr.json} +0 -0
  189. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.he.json → language-api-panel/t9n/language-api-panel.t9n.he.json} +0 -0
  190. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.hr.json → language-api-panel/t9n/language-api-panel.t9n.hr.json} +0 -0
  191. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.hu.json → language-api-panel/t9n/language-api-panel.t9n.hu.json} +0 -0
  192. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.id.json → language-api-panel/t9n/language-api-panel.t9n.id.json} +0 -0
  193. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.it.json → language-api-panel/t9n/language-api-panel.t9n.it.json} +0 -0
  194. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ja.json → language-api-panel/t9n/language-api-panel.t9n.ja.json} +0 -0
  195. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ko.json → language-api-panel/t9n/language-api-panel.t9n.ko.json} +0 -0
  196. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.lt.json → language-api-panel/t9n/language-api-panel.t9n.lt.json} +0 -0
  197. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.lv.json → language-api-panel/t9n/language-api-panel.t9n.lv.json} +0 -0
  198. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.nb.json → language-api-panel/t9n/language-api-panel.t9n.nb.json} +0 -0
  199. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.nl.json → language-api-panel/t9n/language-api-panel.t9n.nl.json} +0 -0
  200. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.pl.json → language-api-panel/t9n/language-api-panel.t9n.pl.json} +0 -0
  201. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.pt-BR.json → language-api-panel/t9n/language-api-panel.t9n.pt-BR.json} +0 -0
  202. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.pt-PT.json → language-api-panel/t9n/language-api-panel.t9n.pt-PT.json} +0 -0
  203. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ro.json → language-api-panel/t9n/language-api-panel.t9n.ro.json} +0 -0
  204. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ru.json → language-api-panel/t9n/language-api-panel.t9n.ru.json} +0 -0
  205. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.sk.json → language-api-panel/t9n/language-api-panel.t9n.sk.json} +0 -0
  206. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.sl.json → language-api-panel/t9n/language-api-panel.t9n.sl.json} +0 -0
  207. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.sr.json → language-api-panel/t9n/language-api-panel.t9n.sr.json} +0 -0
  208. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.sv.json → language-api-panel/t9n/language-api-panel.t9n.sv.json} +0 -0
  209. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.th.json → language-api-panel/t9n/language-api-panel.t9n.th.json} +0 -0
  210. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.tr.json → language-api-panel/t9n/language-api-panel.t9n.tr.json} +0 -0
  211. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.uk.json → language-api-panel/t9n/language-api-panel.t9n.uk.json} +0 -0
  212. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.vi.json → language-api-panel/t9n/language-api-panel.t9n.vi.json} +0 -0
  213. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.zh-CN.json → language-api-panel/t9n/language-api-panel.t9n.zh-CN.json} +0 -0
  214. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.zh-HK.json → language-api-panel/t9n/language-api-panel.t9n.zh-HK.json} +0 -0
  215. /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.zh-TW.json → language-api-panel/t9n/language-api-panel.t9n.zh-TW.json} +0 -0
@@ -0,0 +1,336 @@
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.10
5
+ */
6
+ 'use strict';
7
+
8
+ const languageDefaultsBase = require('./language-defaults-base-b32cb091.js');
9
+ const arcadeLanguageFeatures = require('./arcade-language-features-747fb1da.js');
10
+ require('./index-37a86ff4.js');
11
+
12
+ var V={False:"false",Null:"null",True:"true"},f={Break:"break",Continue:"continue",Else:"else",For:"for",From:"from",Function:"function",If:"if",Import:"import",Export:"export",In:"in",Return:"return",Var:"var",While:"while"},Ee=["++","--"],Je=["-","+","!","~"],Qe=["=","/=","*=","%=","+=","-="],Ze=["||","&&"],Lt=["|","&",">>","<<",">>>","^","==","!=","<","<=",">",">=","+","-","*","/","%"];var U=[[],[],[]];Ee.forEach(t=>U[t.length-1]?.push(t));Je.forEach(t=>U[t.length-1]?.push(t));Ze.forEach(t=>U[t.length-1]?.push(t));Qe.forEach(t=>U[t.length-1]?.push(t));Lt.forEach(t=>U[t.length-1]?.push(t));var ft=Object.values(f),gt=Object.values(V);gt.map(t=>({label:t,kind:languageDefaultsBase.main.exports.CompletionItemKind.Constant}));ft.map(t=>({label:t,kind:languageDefaultsBase.main.exports.CompletionItemKind.Keyword}));
13
+
14
+ const operators = [
15
+ "<=",
16
+ ">=",
17
+ "==",
18
+ "!=",
19
+ "+",
20
+ "-",
21
+ "*",
22
+ "/",
23
+ "%",
24
+ "++",
25
+ "--",
26
+ "<<",
27
+ ">>",
28
+ ">>>",
29
+ "&",
30
+ "|",
31
+ "^",
32
+ "!",
33
+ "~",
34
+ "&&",
35
+ "||",
36
+ "=",
37
+ "+=",
38
+ "-=",
39
+ "*=",
40
+ "**=",
41
+ "/=",
42
+ "%=",
43
+ ];
44
+ const arcadeLanguageConfiguration = {
45
+ // the default separators except `@$`
46
+ wordPattern: /(-?\d*\.\d\w*)|([^`~!#%\^&\*\(\)\-=\+\[\{\]\}\\\|;:'",\.<>\/\?\s]+)/gu,
47
+ comments: {
48
+ lineComment: "//",
49
+ blockComment: ["/*", "*/"],
50
+ },
51
+ brackets: [
52
+ ["{", "}"],
53
+ ["[", "]"],
54
+ ["(", ")"],
55
+ ],
56
+ autoClosingPairs: [
57
+ { open: "{", close: "}" },
58
+ { open: "[", close: "]" },
59
+ { open: "(", close: ")" },
60
+ { open: '"', close: '"', notIn: ["string"] },
61
+ { open: "'", close: "'", notIn: ["string", "comment"] },
62
+ { open: "`", close: "`", notIn: ["string", "comment"] },
63
+ ],
64
+ autoCloseBefore: ";:.,=}])` \n\t",
65
+ folding: {
66
+ markers: {
67
+ start: /^\s*\/\/\s*#?region\b/u,
68
+ end: /^\s*\/\/\s*#?endregion\b/u,
69
+ },
70
+ },
71
+ indentationRules: {
72
+ // ^(.*\*/)?\s*\}.*$
73
+ decreaseIndentPattern: /^((?!.*?\/\*).*\*\/)?\s*[\}\]\)].*$/u,
74
+ // ^.*\{[^}"']*$
75
+ increaseIndentPattern: /^((?!\/\/).)*(\{[^}"'`]*|\([^)"'`]*|\[[^\]"'`]*)$/u,
76
+ },
77
+ };
78
+ const arcadeMonarchLanguage = {
79
+ // Set defaultToken to invalid to see what you do not tokenize yet
80
+ defaultToken: "invalid",
81
+ tokenPostfix: ".arc",
82
+ // Arcade is case insensitive
83
+ ignoreCase: true,
84
+ // builtinFunctions: [...arcadeService.FunctionNames],
85
+ // Arcade keywords. 'from' is a special case as we want to treat it as a keyword in
86
+ // import statement but as an identifer in var statement.
87
+ keywords: ft.filter((k) => k !== "from"),
88
+ operators,
89
+ constants: ["true", "false", "null"],
90
+ // we include these common regular expressions
91
+ symbols: /[=><!~?:&|+\-*\/\^%]+/u,
92
+ escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/u,
93
+ digits: /\d+(_+\d+)*/u,
94
+ octaldigits: /[0-7]+(_+[0-7]+)*/u,
95
+ binarydigits: /[0-1]+(_+[0-1]+)*/u,
96
+ hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/u,
97
+ regexpctl: /[(){}\[\]\$\^|\-*+?\.]/u,
98
+ regexpesc: /\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/u,
99
+ // The main tokenizer for our languages
100
+ tokenizer: {
101
+ root: [[/[{}]/u, "delimiter.bracket"], { include: "common" }],
102
+ common: [
103
+ // import statement. import followed by a white space
104
+ [/import(?=\s)/u, { token: "keyword", next: "@import" }],
105
+ // identifiers and keywords
106
+ [
107
+ /[a-z_$][\w$]*/u,
108
+ {
109
+ cases: {
110
+ "@constants": "constant",
111
+ "@keywords": "keyword",
112
+ "@default": "identifier",
113
+ },
114
+ },
115
+ ],
116
+ // whitespace
117
+ { include: "@whitespace" },
118
+ // regular expression: ensure it is terminated before beginning (otherwise it is an opeator)
119
+ [
120
+ /\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|\/|,|\)|\]|\}|$))/u,
121
+ { token: "regexp", bracket: "@open", next: "@regexp" },
122
+ ],
123
+ // delimiters and operators
124
+ [/[()\[\]]/u, "@brackets"],
125
+ [/[<>](?!@symbols)/u, "@brackets"],
126
+ [
127
+ /@symbols/u,
128
+ {
129
+ cases: {
130
+ "@operators": "delimiter",
131
+ "@default": "",
132
+ },
133
+ },
134
+ ],
135
+ // numbers
136
+ [/(@digits)[eE]([\-+]?(@digits))?/u, "number"],
137
+ [/(@digits)\.(@digits)([eE][\-+]?(@digits))?/u, "number"],
138
+ [/0[xX](@hexdigits)/u, "number"],
139
+ [/0[oO]?(@octaldigits)/u, "number"],
140
+ [/0[bB](@binarydigits)/u, "number"],
141
+ [/(@digits)/u, "number"],
142
+ // delimiter: after number because of .\d floats
143
+ [/[;,.]/u, "delimiter"],
144
+ // strings
145
+ [/"([^"\\]|\\.)*$/u, "string.invalid"], // non-teminated string
146
+ [/'([^'\\]|\\.)*$/u, "string.invalid"], // non-teminated string
147
+ [/"/u, "string", "@string_double"],
148
+ [/'/u, "string", "@string_single"],
149
+ [/`/u, "string", "@string_backtick"],
150
+ ],
151
+ import: [
152
+ // import keyword
153
+ [/import(?=\s)/u, { token: "keyword" }],
154
+ // whitespace
155
+ { include: "@whitespace" },
156
+ // identifier
157
+ [/[a-z_$][\w$]*/u, "identifier"],
158
+ // whitespace
159
+ { include: "@whitespace" },
160
+ // from keyword
161
+ [/from/u, { token: "keyword", next: "@popall" }],
162
+ ],
163
+ whitespace: [
164
+ [/[ \t\r\n]+/u, ""],
165
+ [/\/\*/u, "comment", "@comment"],
166
+ [/\/\/.*$/u, "comment"],
167
+ ],
168
+ comment: [
169
+ [/[^\/*]+/u, "comment"],
170
+ [/\*\//u, "comment", "@pop"],
171
+ [/[\/*]/u, "comment"],
172
+ ],
173
+ // We match regular expression quite precisely
174
+ regexp: [
175
+ [/(\{)(\d+(?:,\d*)?)(\})/u, ["regexp.escape.control", "regexp.escape.control", "regexp.escape.control"]],
176
+ [
177
+ /(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/u,
178
+ ["regexp.escape.control", { token: "regexp.escape.control", next: "@regexrange" }],
179
+ ],
180
+ [/(\()(\?:|\?=|\?!)/u, ["regexp.escape.control", "regexp.escape.control"]],
181
+ [/[()]/u, "regexp.escape.control"],
182
+ [/@regexpctl/u, "regexp.escape.control"],
183
+ [/[^\\\/]/u, "regexp"],
184
+ [/@regexpesc/u, "regexp.escape"],
185
+ [/\\\./u, "regexp.invalid"],
186
+ [/(\/)([gimsuy]*)/u, [{ token: "regexp", bracket: "@close", next: "@pop" }, "keyword.other"]],
187
+ ],
188
+ regexrange: [
189
+ [/-/u, "regexp.escape.control"],
190
+ [/\^/u, "regexp.invalid"],
191
+ [/@regexpesc/u, "regexp.escape"],
192
+ [/[^\]]/u, "regexp"],
193
+ [/\]/u, { token: "regexp.escape.control", next: "@pop", bracket: "@close" }],
194
+ ],
195
+ string_double: [
196
+ [/[^\\"]+/u, "string"],
197
+ [/@escapes/u, "string.escape"],
198
+ [/\\./u, "string.escape.invalid"],
199
+ [/"/u, "string", "@pop"],
200
+ ],
201
+ string_single: [
202
+ [/[^\\']+/u, "string"],
203
+ [/@escapes/u, "string.escape"],
204
+ [/\\./u, "string.escape.invalid"],
205
+ [/'/u, "string", "@pop"],
206
+ ],
207
+ string_backtick: [
208
+ [/\$\{/u, { token: "delimiter.bracket", next: "@bracketCounting" }],
209
+ [/[^\\`$]+/u, "string"],
210
+ [/@escapes/u, "string.escape"],
211
+ [/\\./u, "string.escape.invalid"],
212
+ [/`/u, "string", "@pop"],
213
+ ],
214
+ bracketCounting: [
215
+ [/\{/u, "delimiter.bracket", "@bracketCounting"],
216
+ [/\}/u, "delimiter.bracket", "@pop"],
217
+ { include: "common" },
218
+ ],
219
+ },
220
+ };
221
+
222
+ /**
223
+ * Manager to create our arcade worker and client proxy
224
+ */
225
+ class WorkerManager {
226
+ constructor(_defaults) {
227
+ this._defaults = _defaults;
228
+ this._worker = null;
229
+ this._client = null;
230
+ // Observes the arcade defaults. If modified then stop the worker.
231
+ this._configChangeListener = this._defaults.onDidChange(() => this.stopWorker());
232
+ }
233
+ dispose() {
234
+ this._configChangeListener.dispose();
235
+ this.stopWorker();
236
+ }
237
+ stopWorker() {
238
+ if (this._worker) {
239
+ this._worker.dispose();
240
+ this._worker = null;
241
+ }
242
+ this._client = null;
243
+ }
244
+ async _getClientProxy() {
245
+ // We used createWebWorker to create or run the web worker if it isn’t already created.
246
+ // Otherwise, we get and return the proxy client.
247
+ if (!this._client) {
248
+ const { languageId, languageOptions } = this._defaults;
249
+ this._worker = languageDefaultsBase.editor.createWebWorker({
250
+ moduleId: "ArcadeWorker",
251
+ label: languageId,
252
+ createData: {
253
+ languageId,
254
+ languageOptions,
255
+ },
256
+ });
257
+ this._client = this._worker.getProxy();
258
+ }
259
+ return await this._client;
260
+ }
261
+ async getLanguageServiceWorker(...resources) {
262
+ const _client = await this._getClientProxy();
263
+ await this._worker?.withSyncedResources(resources);
264
+ return _client;
265
+ }
266
+ }
267
+
268
+ let arcadeWorker;
269
+ /**
270
+ * Returns the arcade worker for the model uris.
271
+ * @param uris The model uris for which to get the worker.
272
+ * @returns The arcade worker.
273
+ */
274
+ async function getArcadeWorker(...uris) {
275
+ return await new Promise((resolve, reject) => {
276
+ if (!arcadeWorker) {
277
+ reject(new Error("TypeScript not registered!"));
278
+ return;
279
+ }
280
+ resolve(arcadeWorker(...uris));
281
+ });
282
+ }
283
+ /**
284
+ * The Arcade Language Diagnostic Service.
285
+ * Consumers can listen to the diagnostics change event to get notified when the diagnostics change.
286
+ */
287
+ class ArcadeDiagnosticService {
288
+ constructor() {
289
+ this._onDiagnosticsChange = new languageDefaultsBase.Emitter();
290
+ }
291
+ /**
292
+ * An event to signal changes to the diagnostics.
293
+ * The event value is the uri string and the diagnostics.
294
+ */
295
+ get onDiagnosticsChange() {
296
+ return this._onDiagnosticsChange.event;
297
+ }
298
+ /**
299
+ * Fires the diagnostics change event.
300
+ * @param uri The uri of the model for which the diagnostics changed.
301
+ * @param diagnostics The diagnostics for the model.
302
+ */
303
+ fireDiagnosticsChange(uri, diagnostics) {
304
+ this._onDiagnosticsChange.fire({ uri, diagnostics });
305
+ }
306
+ }
307
+ const arcadeDiagnosticService = new ArcadeDiagnosticService();
308
+ /**
309
+ * Get the Arcade Diagnostic Service.
310
+ * @returns The Arcade Language Diagnostic Service.
311
+ */
312
+ function getArcadeDiagnosticService() {
313
+ return arcadeDiagnosticService;
314
+ }
315
+ function setupMode(arcadeDefaults) {
316
+ const client = new WorkerManager(arcadeDefaults);
317
+ const workerAccessor = async (...uris) => await client.getLanguageServiceWorker(...uris);
318
+ arcadeWorker = workerAccessor;
319
+ // Use the arcade Monarch Json to define the highlighting
320
+ languageDefaultsBase.languages.setMonarchTokensProvider(arcadeDefaults.languageId, arcadeMonarchLanguage);
321
+ languageDefaultsBase.languages.setLanguageConfiguration(arcadeDefaults.languageId, arcadeLanguageConfiguration);
322
+ // Creates and registers a Completion Adapter
323
+ languageDefaultsBase.languages.registerCompletionItemProvider(arcadeDefaults.languageId, new arcadeLanguageFeatures.CompletionProvider(workerAccessor, arcadeDefaults));
324
+ // Creates and registers a Formatter
325
+ languageDefaultsBase.languages.registerDocumentFormattingEditProvider(arcadeDefaults.languageId, new arcadeLanguageFeatures.FormattingProvider(workerAccessor, arcadeDefaults));
326
+ // Creates a Diagnostic Adapter
327
+ // eslint-disable-next-line no-new
328
+ new arcadeLanguageFeatures.DiagnosticsAdapter(arcadeDefaults.languageId, workerAccessor, {
329
+ defaults: arcadeDefaults,
330
+ diagnosticsService: arcadeDiagnosticService,
331
+ });
332
+ }
333
+
334
+ exports.getArcadeDiagnosticService = getArcadeDiagnosticService;
335
+ exports.getArcadeWorker = getArcadeWorker;
336
+ exports.setupMode = setupMode;