@arcgis/coding-components 4.31.0-next.51 → 4.31.0-next.54

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 (99) hide show
  1. package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +2 -2
  2. package/dist/arcgis-coding-components/assets/code-editor/sql-expr.worker.js +1 -1
  3. package/dist/arcgis-coding-components/index.esm.js +2 -2
  4. package/dist/arcgis-coding-components/{p-8b045366.js → p-0d09a590.js} +2 -2
  5. package/dist/arcgis-coding-components/{p-6787dd4c.js → p-187be214.js} +3 -3
  6. package/dist/arcgis-coding-components/{p-65b4b095.js → p-26d3fcc7.js} +1 -1
  7. package/dist/arcgis-coding-components/{p-96bba7f5.js → p-2aa428af.js} +1 -1
  8. package/dist/arcgis-coding-components/{p-1f4dd8ea.js → p-40c8e02b.js} +2 -2
  9. package/dist/arcgis-coding-components/{p-1e2c061f.js → p-5f82bda4.js} +10 -10
  10. package/dist/arcgis-coding-components/{p-9218ae01.entry.js → p-710acdb6.entry.js} +2 -2
  11. package/dist/arcgis-coding-components/{p-01da9b87.js → p-7518bf06.js} +2 -2
  12. package/dist/arcgis-coding-components/{p-d3f04192.entry.js → p-8157c6db.entry.js} +2 -2
  13. package/dist/arcgis-coding-components/{p-38b10ccb.js → p-83675007.js} +2 -2
  14. package/dist/arcgis-coding-components/p-9cfd8c44.js +7 -0
  15. package/dist/arcgis-coding-components/{p-0e466656.js → p-bf7e11fd.js} +2 -2
  16. package/dist/arcgis-coding-components/{p-d2287ce9.js → p-c5f85501.js} +2 -2
  17. package/dist/arcgis-coding-components/{p-3e54590d.entry.js → p-e65a39fc.entry.js} +2 -2
  18. package/dist/arcgis-coding-components/{p-e16c05ff.js → p-e99ebc55.js} +2 -2
  19. package/dist/arcgis-coding-components/{p-833ae4ee.js → p-eac1cf63.js} +2 -2
  20. package/dist/arcgis-coding-components/{p-d67469e8.js → p-ee8e91c5.js} +2 -2
  21. package/dist/arcgis-coding-components/{p-2d187b80.js → p-f048c26d.js} +2 -2
  22. package/dist/cjs/{app-globals-b5d3bda0.js → app-globals-633389bb.js} +1 -1
  23. package/dist/cjs/{arcade-defaults-a59b98c8.js → arcade-defaults-e89d821f.js} +4 -4
  24. package/dist/cjs/{arcade-mode-bbcc64c9.js → arcade-mode-51017641.js} +2 -2
  25. package/dist/cjs/arcgis-arcade-editor_6.cjs.entry.js +5 -5
  26. package/dist/cjs/arcgis-coding-components.cjs.js +4 -4
  27. package/dist/cjs/arcgis-sql-expression-editor.cjs.entry.js +4 -4
  28. package/dist/cjs/arcgis-sql-expression-fields.cjs.entry.js +4 -4
  29. package/dist/cjs/{css-50ab4ba4.js → css-2a866ead.js} +1 -1
  30. package/dist/cjs/{cssMode-cde87050.js → cssMode-322bf1ca.js} +2 -2
  31. package/dist/cjs/{html-88890272.js → html-bf50b9d5.js} +2 -2
  32. package/dist/cjs/{htmlMode-61827280.js → htmlMode-e064979b.js} +2 -2
  33. package/dist/cjs/{index-1662a35f.js → index-c6ca5d79.js} +165 -146
  34. package/dist/cjs/index.cjs.js +4 -4
  35. package/dist/cjs/{javascript-2c62b4fe.js → javascript-59b31aab.js} +3 -3
  36. package/dist/cjs/{jsonMode-46c758c3.js → jsonMode-62d33ca8.js} +2 -2
  37. package/dist/cjs/{language-defaults-base-1351cde9.js → language-defaults-base-7f799681.js} +9 -9
  38. package/dist/cjs/loader.cjs.js +3 -3
  39. package/dist/cjs/{sql-expr-defaults-c1878109.js → sql-expr-defaults-56a073df.js} +4 -4
  40. package/dist/cjs/{sql-expr-mode-4e83413c.js → sql-expr-mode-b76f2cd7.js} +4 -4
  41. package/dist/cjs/{tsMode-187fbff9.js → tsMode-343a564e.js} +2 -2
  42. package/dist/cjs/{typescript-ed13744f.js → typescript-aa39a9f1.js} +2 -2
  43. package/dist/components/arcade-defaults.js +1 -1
  44. package/dist/components/arcade-mode.js +1 -1
  45. package/dist/components/arcade-results.js +1 -1
  46. package/dist/components/arcade-suggestions.js +1 -1
  47. package/dist/components/arcade-variables.js +1 -1
  48. package/dist/components/arcgis-arcade-editor.js +1 -1
  49. package/dist/components/arcgis-arcade-results.js +1 -1
  50. package/dist/components/arcgis-arcade-suggestions.js +1 -1
  51. package/dist/components/arcgis-arcade-variables.js +1 -1
  52. package/dist/components/arcgis-assets.d.ts +1 -1
  53. package/dist/components/arcgis-assets.js +1 -1
  54. package/dist/components/arcgis-code-editor.js +1 -1
  55. package/dist/components/arcgis-language-api-panel.js +1 -1
  56. package/dist/components/arcgis-sql-expression-editor.js +1 -1
  57. package/dist/components/arcgis-sql-expression-fields.js +1 -1
  58. package/dist/components/chunk-BMBYH3VH.js +1 -1
  59. package/dist/components/code-editor.js +1 -1
  60. package/dist/components/fields.js +1 -1
  61. package/dist/components/index.js +1 -1
  62. package/dist/components/index2.js +1 -1
  63. package/dist/components/language-api-panel.js +1 -1
  64. package/dist/components/language-defaults-base.js +1 -1
  65. package/dist/components/markdown.js +1 -1
  66. package/dist/components/sql-expr-defaults.js +1 -1
  67. package/dist/components/sql-expr-mode.js +1 -1
  68. package/dist/components/sql-expression-fields.js +1 -1
  69. package/dist/components/useT9n.js +1 -1
  70. package/dist/components/utilities.js +1 -1
  71. package/dist/esm/{app-globals-f291bf24.js → app-globals-7a9ff748.js} +1 -1
  72. package/dist/esm/{arcade-defaults-5377abc7.js → arcade-defaults-112cabaa.js} +4 -4
  73. package/dist/esm/{arcade-mode-b416088e.js → arcade-mode-78a2482d.js} +2 -2
  74. package/dist/esm/arcgis-arcade-editor_6.entry.js +5 -5
  75. package/dist/esm/arcgis-coding-components.js +5 -5
  76. package/dist/esm/arcgis-sql-expression-editor.entry.js +4 -4
  77. package/dist/esm/arcgis-sql-expression-fields.entry.js +4 -4
  78. package/dist/esm/{css-7dfaa788.js → css-e8c18f98.js} +1 -1
  79. package/dist/esm/{cssMode-d241d003.js → cssMode-769cabbb.js} +2 -2
  80. package/dist/esm/{html-7ffb87f8.js → html-91c19065.js} +2 -2
  81. package/dist/esm/{htmlMode-ffeaf752.js → htmlMode-2e105097.js} +2 -2
  82. package/dist/esm/{index-2b9dd0f5.js → index-20936dfe.js} +165 -146
  83. package/dist/esm/index.js +4 -4
  84. package/dist/esm/{javascript-347f3916.js → javascript-68620191.js} +3 -3
  85. package/dist/esm/{jsonMode-25ecfd73.js → jsonMode-e89d6d21.js} +2 -2
  86. package/dist/esm/{language-defaults-base-4fef2327.js → language-defaults-base-9e3f1f44.js} +9 -9
  87. package/dist/esm/loader.js +4 -4
  88. package/dist/esm/{sql-expr-defaults-e9b958fc.js → sql-expr-defaults-3913a59f.js} +4 -4
  89. package/dist/esm/{sql-expr-mode-a8f41e49.js → sql-expr-mode-abd729cf.js} +4 -4
  90. package/dist/esm/{tsMode-05c939be.js → tsMode-05dfb27e.js} +2 -2
  91. package/dist/esm/{typescript-dfb2a986.js → typescript-d6646874.js} +2 -2
  92. package/dist/loader/cdn.js +1 -1
  93. package/dist/loader/index.cjs.js +1 -1
  94. package/dist/loader/index.d.ts +3 -0
  95. package/dist/loader/index.es2017.js +1 -1
  96. package/dist/loader/index.js +1 -1
  97. package/dist/types/stencil-public-runtime.d.ts +0 -2
  98. package/package.json +14 -14
  99. package/dist/arcgis-coding-components/p-cccd46d5.js +0 -7
@@ -1,6 +1,6 @@
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.51
4
+ * v4.31.0-next.54
5
5
  */
6
- import{r as e,h as i,H as s,a}from"./p-cccd46d5.js";import{u as o,a as t}from"./p-8b045366.js";import{o as r}from"./p-1e2c061f.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}
6
+ import{r as e,h as i,H as s,a}from"./p-9cfd8c44.js";import{u as o,a as t}from"./p-0d09a590.js";import{o as r}from"./p-5f82bda4.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,9 +1,9 @@
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.51
4
+ * v4.31.0-next.54
5
5
  */
6
- import{M as e}from"./p-1e2c061f.js";
6
+ import{M as e}from"./p-5f82bda4.js";
7
7
  /*!-----------------------------------------------------------------------------
8
8
  * Copyright (c) Microsoft Corporation. All rights reserved.
9
9
  * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)
@@ -1,6 +1,6 @@
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.51
4
+ * v4.31.0-next.54
5
5
  */
6
- import{r as t,c as i,h as e,a as s}from"./p-cccd46d5.js";import{u as c,a as l}from"./p-8b045366.js";import"./p-1e2c061f.js";const a=class{constructor(e){t(this,e),this.arcgisClose=i(this,"arcgisClose",3),this.arcgisFieldSelected=i(this,"arcgisFieldSelected",3),this.manager=c(this),this._handleSelectField=t=>{if(t.target instanceof HTMLElement)switch(t.target.tagName.toLowerCase()){case"calcite-list-item":this.arcgisFieldSelected.emit(t.target.value??"");break;case"calcite-action":t.stopPropagation()}},this._emitClose=()=>{this.arcgisClose.emit()},this._mutationCounter=1,this._flowItemRenderers=[],this._filterValue="",this.loading=!1,this.modelId=void 0}modelIdPropChanged(){this._flowItemRenderers=[]}disconnectedCallback(){this._flowObserver?.disconnect()}render(){const t=l.getFeatureLayerForModel(this.modelId??"");return!this.loading&&this.modelId&&t?e("calcite-flow",null,e("calcite-flow-item",{heading:"Available Fields",closable:!0,description:"Select a field to insert into the expression",onCalciteFlowItemClose:this._emitClose},e("calcite-list",{filterEnabled:!0},t.fields.map((t=>e("calcite-list-item",{key:t.name,onClick:this._handleSelectField,label:t.name,description:t.alias,value:t.name},t.domain&&e("calcite-action",{slot:"actions-end",text:"open",icon:"chevron-right",onClick:()=>{const i=t.domain;"coded-value"===i.type&&(this._flowItemRenderers=[...this._flowItemRenderers,()=>e("calcite-flow-item",{closable:!0,heading:"Domains",description:t.name,onCalciteFlowItemClose:this._emitClose},e("calcite-list",null,i.codedValues.map((t=>e("calcite-list-item",{key:t.code,onClick:this._handleSelectField,label:t.name,description:String(t.code),value:t.code})))))])}})))))),this._flowItemRenderers.map((t=>t()))):e("calcite-block",{heading:"Available Fields"})}static get assetsDirs(){return["assets"]}get el(){return s(this)}static get watchers(){return{modelId:["modelIdPropChanged"]}}};a.style=":host calcite-flow{height:100%}:host calcite-list-item-group{background-color:var(--calcite-color-foreground-2)}";export{a as arcgis_sql_expression_fields}
6
+ import{r as t,c as i,h as e,a as s}from"./p-9cfd8c44.js";import{u as l,a as c}from"./p-0d09a590.js";import"./p-5f82bda4.js";const a=class{constructor(e){t(this,e),this.arcgisClose=i(this,"arcgisClose",3),this.arcgisFieldSelected=i(this,"arcgisFieldSelected",3),this.manager=l(this),this._handleSelectField=t=>{if(t.target instanceof HTMLElement)switch(t.target.tagName.toLowerCase()){case"calcite-list-item":this.arcgisFieldSelected.emit(t.target.value??"");break;case"calcite-action":t.stopPropagation()}},this._emitClose=()=>{this.arcgisClose.emit()},this._mutationCounter=1,this._flowItemRenderers=[],this._filterValue="",this.loading=!1,this.modelId=void 0}modelIdPropChanged(){this._flowItemRenderers=[]}disconnectedCallback(){this._flowObserver?.disconnect()}render(){const t=c.getFeatureLayerForModel(this.modelId??"");return!this.loading&&this.modelId&&t?e("calcite-flow",null,e("calcite-flow-item",{heading:"Available Fields",closable:!0,description:"Select a field to insert into the expression",onCalciteFlowItemClose:this._emitClose},e("calcite-list",{filterEnabled:!0},t.fields.map((t=>e("calcite-list-item",{key:t.name,onClick:this._handleSelectField,label:t.name,description:t.alias,value:t.name},t.domain&&e("calcite-action",{slot:"actions-end",text:"open",icon:"chevron-right",onClick:()=>{const i=t.domain;"coded-value"===i.type&&(this._flowItemRenderers=[...this._flowItemRenderers,()=>e("calcite-flow-item",{closable:!0,heading:"Domains",description:t.name,onCalciteFlowItemClose:this._emitClose},e("calcite-list",null,i.codedValues.map((t=>e("calcite-list-item",{key:t.code,onClick:this._handleSelectField,label:t.name,description:String(t.code),value:t.code})))))])}})))))),this._flowItemRenderers.map((t=>t()))):e("calcite-block",{heading:"Available Fields"})}static get assetsDirs(){return["assets"]}get el(){return s(this)}static get watchers(){return{modelId:["modelIdPropChanged"]}}};a.style=":host calcite-flow{height:100%}:host calcite-list-item-group{background-color:var(--calcite-color-foreground-2)}";export{a as arcgis_sql_expression_fields}
@@ -1,6 +1,6 @@
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.51
4
+ * v4.31.0-next.54
5
5
  */
6
- import{m as e,g as t,O as s,R as n,z as r,P as i,Q as a}from"./p-1e2c061f.js";var o=[[],[],[]];["++","--"].forEach((e=>o[e.length-1]?.push(e))),["-","+","!","~"].forEach((e=>o[e.length-1]?.push(e))),["||","&&"].forEach((e=>o[e.length-1]?.push(e))),["=","/=","*=","%=","+=","-="].forEach((e=>o[e.length-1]?.push(e))),["|","&",">>","<<",">>>","^","==","!=","<","<=",">",">=","+","-","*","/","%"].forEach((e=>o[e.length-1]?.push(e)));var c=Object.values({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"});Object.values({False:"false",Null:"null",True:"true"}).map((t=>({label:t,kind:e.exports.CompletionItemKind.Constant}))),c.map((t=>({label:t,kind:e.exports.CompletionItemKind.Keyword})));const u={wordPattern:/(-?\d*\.\d\w*)|([^`~!#%\^&\*\(\)\-=\+\[\{\]\}\\\|;:'",\.<>\/\?\s]+)/gu,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]}],autoCloseBefore:";:.,=}])` \n\t",folding:{markers:{start:/^\s*\/\/\s*#?region\b/u,end:/^\s*\/\/\s*#?endregion\b/u}},indentationRules:{decreaseIndentPattern:/^((?!.*?\/\*).*\*\/)?\s*[\}\]\)].*$/u,increaseIndentPattern:/^((?!\/\/).)*(\{[^}"'`]*|\([^)"'`]*|\[[^\]"'`]*)$/u}},l={defaultToken:"invalid",tokenPostfix:".arc",ignoreCase:!0,keywords:c.filter((e=>"from"!==e)),operators:["<=",">=","==","!=","+","-","*","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","=","+=","-=","*=","**=","/=","%="],constants:["true","false","null"],symbols:/[=><!~?:&|+\-*\/\^%]+/u,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/u,digits:/\d+(_+\d+)*/u,octaldigits:/[0-7]+(_+[0-7]+)*/u,binarydigits:/[0-1]+(_+[0-1]+)*/u,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/u,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/u,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/u,tokenizer:{root:[[/[{}]/u,"delimiter.bracket"],{include:"common"}],common:[[/import(?=\s)/u,{token:"keyword",next:"@import"}],[/[a-z_$][\w$]*/u,{cases:{"@constants":"constant","@keywords":"keyword","@default":"identifier"}}],{include:"@whitespace"},[/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|\/|,|\)|\]|\}|$))/u,{token:"regexp",bracket:"@open",next:"@regexp"}],[/[()\[\]]/u,"@brackets"],[/[<>](?!@symbols)/u,"@brackets"],[/@symbols/u,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/u,"number"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/u,"number"],[/0[xX](@hexdigits)/u,"number"],[/0[oO]?(@octaldigits)/u,"number"],[/0[bB](@binarydigits)/u,"number"],[/(@digits)/u,"number"],[/[;,.]/u,"delimiter"],[/"([^"\\]|\\.)*$/u,"string.invalid"],[/'([^'\\]|\\.)*$/u,"string.invalid"],[/"/u,"string","@string_double"],[/'/u,"string","@string_single"],[/`/u,"string","@string_backtick"]],import:[[/import(?=\s)/u,{token:"keyword"}],{include:"@whitespace"},[/[a-z_$][\w$]*/u,"identifier"],{include:"@whitespace"},[/from/u,{token:"keyword",next:"@popall"}]],whitespace:[[/[ \t\r\n]+/u,""],[/\/\*/u,"comment","@comment"],[/\/\/.*$/u,"comment"]],comment:[[/[^\/*]+/u,"comment"],[/\*\//u,"comment","@pop"],[/[\/*]/u,"comment"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/u,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/u,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/u,["regexp.escape.control","regexp.escape.control"]],[/[()]/u,"regexp.escape.control"],[/@regexpctl/u,"regexp.escape.control"],[/[^\\\/]/u,"regexp"],[/@regexpesc/u,"regexp.escape"],[/\\\./u,"regexp.invalid"],[/(\/)([gimsuy]*)/u,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/u,"regexp.escape.control"],[/\^/u,"regexp.invalid"],[/@regexpesc/u,"regexp.escape"],[/[^\]]/u,"regexp"],[/\]/u,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/u,"string"],[/@escapes/u,"string.escape"],[/\\./u,"string.escape.invalid"],[/"/u,"string","@pop"]],string_single:[[/[^\\']+/u,"string"],[/@escapes/u,"string.escape"],[/\\./u,"string.escape.invalid"],[/'/u,"string","@pop"]],string_backtick:[[/\$\{/u,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/u,"string"],[/@escapes/u,"string.escape"],[/\\./u,"string.escape.invalid"],[/`/u,"string","@pop"]],bracketCounting:[[/\{/u,"delimiter.bracket","@bracketCounting"],[/\}/u,"delimiter.bracket","@pop"],{include:"common"}]}};class g{constructor(e,s,{defaults:n,diagnosticsService:r}){this._languageId=e,this._worker=s,this._disposables=[],this._listener=new Map,this._diagnosticsService=r,this._defaults=n;const a=e=>{const t=e.getLanguageId();if(t!==this._languageId)return;const s=i((()=>{this._doValidate(e,t).catch((e=>{throw e}))}));this._listener.set(e.uri.toString(),e.onDidChangeContent(s)),this._doValidate(e,t).catch(console.error)},o=e=>{const s=e.uri.toString();t.setModelMarkers(e,this._languageId,[]);const n=this._listener.get(s);n&&(n.dispose(),this._listener.delete(s))};this._disposables.push(t.onDidCreateModel(a)),this._disposables.push(t.onWillDisposeModel((e=>{o(e)}))),this._disposables.push(t.onDidChangeModelLanguage((e=>{o(e.model),a(e.model)}))),this._disposables.push(n.onDidChange((()=>{t.getModels().forEach((e=>{e.getLanguageId()===this._languageId&&(o(e),a(e))}))}))),this._disposables.push(n.onModelContextDidChange((e=>{t.getModels().forEach((t=>{t.getLanguageId()===this._languageId&&t.uri.toString()===e&&this._doValidate(t,this._languageId).catch(console.error)}))}))),this._disposables.push({dispose:()=>{this._listener.forEach((e=>e.dispose())),this._listener.clear()}}),t.getModels().forEach(a)}dispose(){this._disposables.forEach((e=>e.dispose())),this._disposables=[]}async _doValidate(e,s){if(e.isAttachedToEditor())try{const n=await this._worker(e.uri),r=this._defaults.getApiContextForModel(e.uri),i=await n.doValidation(e.uri.toString(),r),a=i.map((e=>{return{severity:p((t=e).severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message};var t}));this._diagnosticsService.fireDiagnosticsChange(e.uri,i),t.setModelMarkers(e,s,a)}catch(e){console.error(e)}}}function p(t){switch(t){case e.exports.DiagnosticSeverity.Error:return s.Error;case e.exports.DiagnosticSeverity.Warning:return s.Warning;case e.exports.DiagnosticSeverity.Information:return s.Info;case e.exports.DiagnosticSeverity.Hint:return s.Hint;default:return s.Info}}function d(e){return new n(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function h(e){return{range:d(e.range),text:e.newText}}function m(t){const s=r.CompletionItemKind;switch(t){case e.exports.CompletionItemKind.Text:return s.Text;case e.exports.CompletionItemKind.Method:return s.Method;case e.exports.CompletionItemKind.Function:return s.Function;case e.exports.CompletionItemKind.Constructor:return s.Constructor;case e.exports.CompletionItemKind.Field:return s.Field;case e.exports.CompletionItemKind.Variable:return s.Variable;case e.exports.CompletionItemKind.Class:return s.Class;case e.exports.CompletionItemKind.Interface:return s.Interface;case e.exports.CompletionItemKind.Module:return s.Module;case e.exports.CompletionItemKind.Property:return s.Property;case e.exports.CompletionItemKind.Unit:return s.Unit;case e.exports.CompletionItemKind.Value:return s.Value;case e.exports.CompletionItemKind.Enum:return s.Enum;case e.exports.CompletionItemKind.Keyword:return s.Keyword;case e.exports.CompletionItemKind.Snippet:return s.Snippet;case e.exports.CompletionItemKind.Color:return s.Color;case e.exports.CompletionItemKind.File:return s.File;case e.exports.CompletionItemKind.Reference:return s.Reference;case e.exports.CompletionItemKind.Folder:return s.Folder;case e.exports.CompletionItemKind.EnumMember:return s.EnumMember;case e.exports.CompletionItemKind.Constant:return s.Constant;case e.exports.CompletionItemKind.Struct:return s.Struct;case e.exports.CompletionItemKind.Event:return s.Event;case e.exports.CompletionItemKind.Operator:return s.Operator;case e.exports.CompletionItemKind.TypeParameter:return s.TypeParameter;default:return s.Property}}class x{constructor(e,t){this._worker=e,this._defaults=t,this.triggerCharacters=[".","("]}async provideCompletionItems(t,s){const i=await this._worker(t.uri),a=this._defaults.getApiContextForModel(t.uri),o=await i.doComplete(t.uri.toString(),function(e){return{character:e.column-1,line:e.lineNumber-1}}(s),a),c=t.getWordUntilPosition(s),u=new n(s.lineNumber,c.startColumn,s.lineNumber,c.endColumn),l=o.items.map((t=>{const s={label:t.label,insertText:t.insertText||t.label,sortText:t.sortText,filterText:t.filterText,detail:t.detail,range:u,kind:m(t.kind)};var n;return t.textEdit&&(s.range=void 0!==(n=t.textEdit).insert&&void 0!==n.replace?{insert:d(t.textEdit.insert),replace:d(t.textEdit.replace)}:d(t.textEdit.range),s.insertText=t.textEdit.newText),t.additionalTextEdits&&(s.additionalTextEdits=t.additionalTextEdits.map(h)),t.insertTextFormat===e.exports.InsertTextFormat.Snippet&&(s.insertTextRules=r.CompletionItemInsertTextRule.InsertAsSnippet),t.documentation&&(s.documentation="string"==typeof t.documentation?t.documentation:{supportThemeIcons:!1,value:t.documentation.value,supportHtml:!0}),s}));return{incomplete:o.isIncomplete,suggestions:l}}}class f{constructor(e,t){this._worker=e,this._defaults=t}async provideDocumentFormattingEdits(e){const t=await this._worker(e.uri),s=this._defaults.getApiContextForModel(e.uri.toString());return(await t.doFormat(e.uri.toString(),s)).map((e=>({range:d(e.range),text:e.newText})))}}class k{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange((()=>this.stopWorker()))}dispose(){this._configChangeListener.dispose(),this.stopWorker()}stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _getClientProxy(){if(!this._client){const{languageId:e,languageOptions:s}=this._defaults;this._worker=t.createWebWorker({moduleId:"ArcadeWorker",label:e,createData:{languageId:e,languageOptions:s}}),this._client=this._worker.getProxy()}return await this._client}async getLanguageServiceWorker(...e){const t=await this._getClientProxy();return await(this._worker?.withSyncedResources(e)),t}}let b;async function w(...e){return await new Promise(((t,s)=>{b?t(b(...e)):s(new Error("Arcade not registered!"))}))}const y=new class{constructor(){this._onDiagnosticsChange=new a}get onDiagnosticsChange(){return this._onDiagnosticsChange.event}fireDiagnosticsChange(e,t){this._onDiagnosticsChange.fire({uri:e,diagnostics:t})}};function v(){return y}function C(e){const t=new k(e),s=async(...e)=>await t.getLanguageServiceWorker(...e);b=s,r.setMonarchTokensProvider(e.languageId,l),r.setLanguageConfiguration(e.languageId,u),r.registerCompletionItemProvider(e.languageId,new x(s,e)),r.registerDocumentFormattingEditProvider(e.languageId,new f(s,e)),new g(e.languageId,s,{defaults:e,diagnosticsService:y})}export{v as getArcadeDiagnosticService,w as getArcadeWorker,C as setupMode}
6
+ import{m as e,g as t,O as s,R as n,z as r,P as i,Q as a}from"./p-5f82bda4.js";var o=[[],[],[]];["++","--"].forEach((e=>o[e.length-1]?.push(e))),["-","+","!","~"].forEach((e=>o[e.length-1]?.push(e))),["||","&&"].forEach((e=>o[e.length-1]?.push(e))),["=","/=","*=","%=","+=","-="].forEach((e=>o[e.length-1]?.push(e))),["|","&",">>","<<",">>>","^","==","!=","<","<=",">",">=","+","-","*","/","%"].forEach((e=>o[e.length-1]?.push(e)));var c=Object.values({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"});Object.values({False:"false",Null:"null",True:"true"}).map((t=>({label:t,kind:e.exports.CompletionItemKind.Constant}))),c.map((t=>({label:t,kind:e.exports.CompletionItemKind.Keyword})));const u={wordPattern:/(-?\d*\.\d\w*)|([^`~!#%\^&\*\(\)\-=\+\[\{\]\}\\\|;:'",\.<>\/\?\s]+)/gu,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]},{open:"`",close:"`",notIn:["string","comment"]}],autoCloseBefore:";:.,=}])` \n\t",folding:{markers:{start:/^\s*\/\/\s*#?region\b/u,end:/^\s*\/\/\s*#?endregion\b/u}},indentationRules:{decreaseIndentPattern:/^((?!.*?\/\*).*\*\/)?\s*[\}\]\)].*$/u,increaseIndentPattern:/^((?!\/\/).)*(\{[^}"'`]*|\([^)"'`]*|\[[^\]"'`]*)$/u}},l={defaultToken:"invalid",tokenPostfix:".arc",ignoreCase:!0,keywords:c.filter((e=>"from"!==e)),operators:["<=",">=","==","!=","+","-","*","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","=","+=","-=","*=","**=","/=","%="],constants:["true","false","null"],symbols:/[=><!~?:&|+\-*\/\^%]+/u,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/u,digits:/\d+(_+\d+)*/u,octaldigits:/[0-7]+(_+[0-7]+)*/u,binarydigits:/[0-1]+(_+[0-1]+)*/u,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/u,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/u,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/u,tokenizer:{root:[[/[{}]/u,"delimiter.bracket"],{include:"common"}],common:[[/import(?=\s)/u,{token:"keyword",next:"@import"}],[/[a-z_$][\w$]*/u,{cases:{"@constants":"constant","@keywords":"keyword","@default":"identifier"}}],{include:"@whitespace"},[/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|\/|,|\)|\]|\}|$))/u,{token:"regexp",bracket:"@open",next:"@regexp"}],[/[()\[\]]/u,"@brackets"],[/[<>](?!@symbols)/u,"@brackets"],[/@symbols/u,{cases:{"@operators":"delimiter","@default":""}}],[/(@digits)[eE]([\-+]?(@digits))?/u,"number"],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/u,"number"],[/0[xX](@hexdigits)/u,"number"],[/0[oO]?(@octaldigits)/u,"number"],[/0[bB](@binarydigits)/u,"number"],[/(@digits)/u,"number"],[/[;,.]/u,"delimiter"],[/"([^"\\]|\\.)*$/u,"string.invalid"],[/'([^'\\]|\\.)*$/u,"string.invalid"],[/"/u,"string","@string_double"],[/'/u,"string","@string_single"],[/`/u,"string","@string_backtick"]],import:[[/import(?=\s)/u,{token:"keyword"}],{include:"@whitespace"},[/[a-z_$][\w$]*/u,"identifier"],{include:"@whitespace"},[/from/u,{token:"keyword",next:"@popall"}]],whitespace:[[/[ \t\r\n]+/u,""],[/\/\*/u,"comment","@comment"],[/\/\/.*$/u,"comment"]],comment:[[/[^\/*]+/u,"comment"],[/\*\//u,"comment","@pop"],[/[\/*]/u,"comment"]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/u,["regexp.escape.control","regexp.escape.control","regexp.escape.control"]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/u,["regexp.escape.control",{token:"regexp.escape.control",next:"@regexrange"}]],[/(\()(\?:|\?=|\?!)/u,["regexp.escape.control","regexp.escape.control"]],[/[()]/u,"regexp.escape.control"],[/@regexpctl/u,"regexp.escape.control"],[/[^\\\/]/u,"regexp"],[/@regexpesc/u,"regexp.escape"],[/\\\./u,"regexp.invalid"],[/(\/)([gimsuy]*)/u,[{token:"regexp",bracket:"@close",next:"@pop"},"keyword.other"]]],regexrange:[[/-/u,"regexp.escape.control"],[/\^/u,"regexp.invalid"],[/@regexpesc/u,"regexp.escape"],[/[^\]]/u,"regexp"],[/\]/u,{token:"regexp.escape.control",next:"@pop",bracket:"@close"}]],string_double:[[/[^\\"]+/u,"string"],[/@escapes/u,"string.escape"],[/\\./u,"string.escape.invalid"],[/"/u,"string","@pop"]],string_single:[[/[^\\']+/u,"string"],[/@escapes/u,"string.escape"],[/\\./u,"string.escape.invalid"],[/'/u,"string","@pop"]],string_backtick:[[/\$\{/u,{token:"delimiter.bracket",next:"@bracketCounting"}],[/[^\\`$]+/u,"string"],[/@escapes/u,"string.escape"],[/\\./u,"string.escape.invalid"],[/`/u,"string","@pop"]],bracketCounting:[[/\{/u,"delimiter.bracket","@bracketCounting"],[/\}/u,"delimiter.bracket","@pop"],{include:"common"}]}};class g{constructor(e,s,{defaults:n,diagnosticsService:r}){this._languageId=e,this._worker=s,this._disposables=[],this._listener=new Map,this._diagnosticsService=r,this._defaults=n;const a=e=>{const t=e.getLanguageId();if(t!==this._languageId)return;const s=i((()=>{this._doValidate(e,t).catch((e=>{throw e}))}));this._listener.set(e.uri.toString(),e.onDidChangeContent(s)),this._doValidate(e,t).catch(console.error)},o=e=>{const s=e.uri.toString();t.setModelMarkers(e,this._languageId,[]);const n=this._listener.get(s);n&&(n.dispose(),this._listener.delete(s))};this._disposables.push(t.onDidCreateModel(a)),this._disposables.push(t.onWillDisposeModel((e=>{o(e)}))),this._disposables.push(t.onDidChangeModelLanguage((e=>{o(e.model),a(e.model)}))),this._disposables.push(n.onDidChange((()=>{t.getModels().forEach((e=>{e.getLanguageId()===this._languageId&&(o(e),a(e))}))}))),this._disposables.push(n.onModelContextDidChange((e=>{t.getModels().forEach((t=>{t.getLanguageId()===this._languageId&&t.uri.toString()===e&&this._doValidate(t,this._languageId).catch(console.error)}))}))),this._disposables.push({dispose:()=>{this._listener.forEach((e=>e.dispose())),this._listener.clear()}}),t.getModels().forEach(a)}dispose(){this._disposables.forEach((e=>e.dispose())),this._disposables=[]}async _doValidate(e,s){if(e.isAttachedToEditor())try{const n=await this._worker(e.uri),r=this._defaults.getApiContextForModel(e.uri),i=await n.doValidation(e.uri.toString(),r),a=i.map((e=>{return{severity:p((t=e).severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message};var t}));this._diagnosticsService.fireDiagnosticsChange(e.uri,i),t.setModelMarkers(e,s,a)}catch(e){console.error(e)}}}function p(t){switch(t){case e.exports.DiagnosticSeverity.Error:return s.Error;case e.exports.DiagnosticSeverity.Warning:return s.Warning;case e.exports.DiagnosticSeverity.Information:return s.Info;case e.exports.DiagnosticSeverity.Hint:return s.Hint;default:return s.Info}}function d(e){return new n(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function h(e){return{range:d(e.range),text:e.newText}}function m(t){const s=r.CompletionItemKind;switch(t){case e.exports.CompletionItemKind.Text:return s.Text;case e.exports.CompletionItemKind.Method:return s.Method;case e.exports.CompletionItemKind.Function:return s.Function;case e.exports.CompletionItemKind.Constructor:return s.Constructor;case e.exports.CompletionItemKind.Field:return s.Field;case e.exports.CompletionItemKind.Variable:return s.Variable;case e.exports.CompletionItemKind.Class:return s.Class;case e.exports.CompletionItemKind.Interface:return s.Interface;case e.exports.CompletionItemKind.Module:return s.Module;case e.exports.CompletionItemKind.Property:return s.Property;case e.exports.CompletionItemKind.Unit:return s.Unit;case e.exports.CompletionItemKind.Value:return s.Value;case e.exports.CompletionItemKind.Enum:return s.Enum;case e.exports.CompletionItemKind.Keyword:return s.Keyword;case e.exports.CompletionItemKind.Snippet:return s.Snippet;case e.exports.CompletionItemKind.Color:return s.Color;case e.exports.CompletionItemKind.File:return s.File;case e.exports.CompletionItemKind.Reference:return s.Reference;case e.exports.CompletionItemKind.Folder:return s.Folder;case e.exports.CompletionItemKind.EnumMember:return s.EnumMember;case e.exports.CompletionItemKind.Constant:return s.Constant;case e.exports.CompletionItemKind.Struct:return s.Struct;case e.exports.CompletionItemKind.Event:return s.Event;case e.exports.CompletionItemKind.Operator:return s.Operator;case e.exports.CompletionItemKind.TypeParameter:return s.TypeParameter;default:return s.Property}}class x{constructor(e,t){this._worker=e,this._defaults=t,this.triggerCharacters=[".","("]}async provideCompletionItems(t,s){const i=await this._worker(t.uri),a=this._defaults.getApiContextForModel(t.uri),o=await i.doComplete(t.uri.toString(),function(e){return{character:e.column-1,line:e.lineNumber-1}}(s),a),c=t.getWordUntilPosition(s),u=new n(s.lineNumber,c.startColumn,s.lineNumber,c.endColumn),l=o.items.map((t=>{const s={label:t.label,insertText:t.insertText||t.label,sortText:t.sortText,filterText:t.filterText,detail:t.detail,range:u,kind:m(t.kind)};var n;return t.textEdit&&(s.range=void 0!==(n=t.textEdit).insert&&void 0!==n.replace?{insert:d(t.textEdit.insert),replace:d(t.textEdit.replace)}:d(t.textEdit.range),s.insertText=t.textEdit.newText),t.additionalTextEdits&&(s.additionalTextEdits=t.additionalTextEdits.map(h)),t.insertTextFormat===e.exports.InsertTextFormat.Snippet&&(s.insertTextRules=r.CompletionItemInsertTextRule.InsertAsSnippet),t.documentation&&(s.documentation="string"==typeof t.documentation?t.documentation:{supportThemeIcons:!1,value:t.documentation.value,supportHtml:!0}),s}));return{incomplete:o.isIncomplete,suggestions:l}}}class f{constructor(e,t){this._worker=e,this._defaults=t}async provideDocumentFormattingEdits(e){const t=await this._worker(e.uri),s=this._defaults.getApiContextForModel(e.uri.toString());return(await t.doFormat(e.uri.toString(),s)).map((e=>({range:d(e.range),text:e.newText})))}}class k{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange((()=>this.stopWorker()))}dispose(){this._configChangeListener.dispose(),this.stopWorker()}stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _getClientProxy(){if(!this._client){const{languageId:e,languageOptions:s}=this._defaults;this._worker=t.createWebWorker({moduleId:"ArcadeWorker",label:e,createData:{languageId:e,languageOptions:s}}),this._client=this._worker.getProxy()}return await this._client}async getLanguageServiceWorker(...e){const t=await this._getClientProxy();return await(this._worker?.withSyncedResources(e)),t}}let b;async function w(...e){return await new Promise(((t,s)=>{b?t(b(...e)):s(new Error("Arcade not registered!"))}))}const y=new class{constructor(){this._onDiagnosticsChange=new a}get onDiagnosticsChange(){return this._onDiagnosticsChange.event}fireDiagnosticsChange(e,t){this._onDiagnosticsChange.fire({uri:e,diagnostics:t})}};function v(){return y}function C(e){const t=new k(e),s=async(...e)=>await t.getLanguageServiceWorker(...e);b=s,r.setMonarchTokensProvider(e.languageId,l),r.setLanguageConfiguration(e.languageId,u),r.registerCompletionItemProvider(e.languageId,new x(s,e)),r.registerDocumentFormattingEditProvider(e.languageId,new f(s,e)),new g(e.languageId,s,{defaults:e,diagnosticsService:y})}export{v as getArcadeDiagnosticService,w as getArcadeWorker,C as setupMode}
@@ -0,0 +1,7 @@
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.54
5
+ */
6
+ var e=Object.defineProperty,t=new WeakMap,n=e=>t.get(e),l=(e,n)=>t.set(n.t=e,n),o=(e,t)=>t in e,r=(e,t)=>(0,console.error)(e,t),s=new Map,i=new Map,c="slot-fb{display:contents}slot-fb[hidden]{display:none}",u="http://www.w3.org/1999/xlink",a="undefined"!=typeof window?window:{},f=a.document||{head:{}},h={l:0,o:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,l)=>e.addEventListener(t,n,l),rel:(e,t,n,l)=>e.removeEventListener(t,n,l),ce:(e,t)=>new CustomEvent(e,t)},d=e=>Promise.resolve(e),p=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),m=!1,y=[],v=[],w=(e,t)=>n=>{e.push(n),m||(m=!0,t&&4&h.l?g(b):h.raf(b))},$=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){r(e)}e.length=0},b=()=>{$(y),$(v),(m=y.length>0)&&h.raf(b)},g=e=>d().then(e),S=w(v,!0),k=e=>{const t=new URL(e,h.o);return t.origin!==a.location.origin?t.href:t.pathname},j={},O=e=>"object"==(e=typeof e)||"function"===e;function E(e){var t,n,l;return null!=(l=null==(n=null==(t=e.head)?void 0:t.querySelector('meta[name="csp-nonce"]'))?void 0:n.getAttribute("content"))?l:void 0}((t,n)=>{for(var l in n)e(t,l,{get:n[l],enumerable:!0})})({},{err:()=>x,map:()=>M,ok:()=>C,unwrap:()=>L,unwrapErr:()=>R});var C=e=>({isOk:!0,isErr:!1,value:e}),x=e=>({isOk:!1,isErr:!0,value:e});function M(e,t){if(e.isOk){const n=t(e.value);return n instanceof Promise?n.then((e=>C(e))):C(n)}if(e.isErr)return x(e.value);throw"should never get here"}var P,U,L=e=>{if(e.isOk)return e.value;throw e.value},R=e=>{if(e.isErr)return e.value;throw e.value},T=(e,t,...n)=>{let l=null,o=null,r=!1,s=!1;const i=[],c=t=>{for(let n=0;n<t.length;n++)l=t[n],Array.isArray(l)?c(l):null!=l&&"boolean"!=typeof l&&((r="function"!=typeof e&&!O(l))&&(l+=""),r&&s?i[i.length-1].i+=l:i.push(r?W(null,l):l),s=r)};if(c(n),t){t.key&&(o=t.key);{const e=t.className||t.class;e&&(t.class="object"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(" "))}}if("function"==typeof e)return e(null===t?{}:t,i,D);const u=W(e,null);return u.u=t,i.length>0&&(u.h=i),u.p=o,u},W=(e,t)=>({l:0,m:e,i:t,v:null,h:null,u:null,p:null}),A={},D={forEach:(e,t)=>e.map(F).forEach(t),map:(e,t)=>e.map(F).map(t).map(H)},F=e=>({vattrs:e.u,vchildren:e.h,vkey:e.p,vname:e.$,vtag:e.m,vtext:e.i}),H=e=>{if("function"==typeof e.vtag){const t={...e.vattrs};return e.vkey&&(t.key=e.vkey),e.vname&&(t.name=e.vname),T(e.vtag,t,...e.vchildren||[])}const t=W(e.vtag,e.vtext);return t.u=e.vattrs,t.h=e.vchildren,t.p=e.vkey,t.$=e.vname,t},N=e=>n(e).$hostElement$,q=(e,t,n)=>{const l=N(e);return{emit:e=>G(l,t,{bubbles:!!(4&n),composed:!!(2&n),cancelable:!!(1&n),detail:e})}},G=(e,t,n)=>{const l=h.ce(t,n);return e.dispatchEvent(l),l},V=new WeakMap,_=e=>"sc-"+e.S,z=(e,t,n,l,r,s)=>{if(n!==l){let i=o(e,t),c=t.toLowerCase();if("class"===t){const t=e.classList,o=I(n),r=I(l);t.remove(...o.filter((e=>e&&!r.includes(e)))),t.add(...r.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in n)l&&null!=l[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in l)n&&l[t]===n[t]||(t.includes("-")?e.style.setProperty(t,l[t]):e.style[t]=l[t])}else if("key"===t);else if("ref"===t)l&&l(e);else if(i||"o"!==t[0]||"n"!==t[1]){const o=O(l);if((i||o&&null!==l)&&!r)try{if(e.tagName.includes("-"))e[t]=l;else{const o=null==l?"":l;"list"===t?i=!1:null!=n&&e[t]==o||(e[t]=o)}}catch(e){}let a=!1;c!==(c=c.replace(/^xlink\:?/,""))&&(t=c,a=!0),null==l||!1===l?!1===l&&""!==e.getAttribute(t)||(a?e.removeAttributeNS(u,t):e.removeAttribute(t)):(!i||4&s||r)&&!o&&(l=!0===l?"":l,a?e.setAttributeNS(u,t,l):e.setAttribute(t,l))}else if(t="-"===t[2]?t.slice(3):o(a,c)?c.slice(2):c[2]+t.slice(3),n||l){const o=t.endsWith(J);t=t.replace(K,""),n&&h.rel(e,t,n,o),l&&h.ael(e,t,l,o)}}},B=/\s/,I=e=>e?e.split(B):[],J="Capture",K=RegExp(J+"$"),Q=(e,t,n)=>{const l=11===t.v.nodeType&&t.v.host?t.v.host:t.v,o=e&&e.u||j,r=t.u||j;for(const e of X(Object.keys(o)))e in r||z(l,e,o[e],void 0,n,t.l);for(const e of X(Object.keys(r)))z(l,e,o[e],r[e],n,t.l)};function X(e){return e.includes("ref")?[...e.filter((e=>"ref"!==e)),"ref"]:e}var Y=!1,Z=(e,t,n)=>{const l=t.h[n];let o,r,s=0;if(null!==l.i)o=l.v=f.createTextNode(l.i);else if(o=l.v=f.createElement(l.m),Q(null,l,Y),null!=P&&o["s-si"]!==P&&o.classList.add(o["s-si"]=P),l.h)for(s=0;s<l.h.length;++s)r=Z(e,l,s),r&&o.appendChild(r);return o["s-hn"]=U,o},ee=(e,t,n,l,o,r)=>{let s,i=e;for(i.shadowRoot&&i.tagName===U&&(i=i.shadowRoot);o<=r;++o)l[o]&&(s=Z(null,n,o),s&&(l[o].v=s,re(i,s,t)))},te=(e,t,n)=>{for(let l=t;l<=n;++l){const t=e[l];if(t){const e=t.v;oe(t),e&&e.remove()}}},ne=(e,t,n=!1)=>e.m===t.m&&(!!n||e.p===t.p),le=(e,t,n=!1)=>{const l=t.v=e.v,o=e.h,r=t.h,s=t.i;null===s?(Q(e,t,Y),null!==o&&null!==r?((e,t,n,l,o=!1)=>{let r,s,i=0,c=0,u=0,a=0,f=t.length-1,h=t[0],d=t[f],p=l.length-1,m=l[0],y=l[p];for(;i<=f&&c<=p;)if(null==h)h=t[++i];else if(null==d)d=t[--f];else if(null==m)m=l[++c];else if(null==y)y=l[--p];else if(ne(h,m,o))le(h,m,o),h=t[++i],m=l[++c];else if(ne(d,y,o))le(d,y,o),d=t[--f],y=l[--p];else if(ne(h,y,o))le(h,y,o),re(e,h.v,d.v.nextSibling),h=t[++i],y=l[--p];else if(ne(d,m,o))le(d,m,o),re(e,d.v,h.v),d=t[--f],m=l[++c];else{for(u=-1,a=i;a<=f;++a)if(t[a]&&null!==t[a].p&&t[a].p===m.p){u=a;break}u>=0?(s=t[u],s.m!==m.m?r=Z(t&&t[c],n,u):(le(s,m,o),t[u]=void 0,r=s.v),m=l[++c]):(r=Z(t&&t[c],n,c),m=l[++c]),r&&re(h.v.parentNode,r,h.v)}i>f?ee(e,null==l[p+1]?null:l[p+1].v,n,l,c,p):c>p&&te(t,i,f)})(l,o,t,r,n):null!==r?(null!==e.i&&(l.textContent=""),ee(l,null,t,r,0,r.length-1)):null!==o&&te(o,0,o.length-1)):e.i!==s&&(l.data=s)},oe=e=>{e.u&&e.u.ref&&e.u.ref(null),e.h&&e.h.map(oe)},re=(e,t,n)=>null==e?void 0:e.insertBefore(t,n),se=(e,t)=>{t&&!e.k&&t["s-p"]&&t["s-p"].push(new Promise((t=>e.k=t)))},ie=(e,t)=>{if(e.l|=16,!(4&e.l))return se(e,e.j),S((()=>ce(e,t)));e.l|=512},ce=(e,t)=>{const n=e.t;if(!n)throw Error(`Can't render component <${e.$hostElement$.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);let l;return l=ye(n,t?"componentWillLoad":"componentWillUpdate"),ue(l,(()=>fe(e,n,t)))},ue=(e,t)=>ae(e)?e.then(t).catch((e=>{console.error(e),t()})):t(),ae=e=>e instanceof Promise||e&&e.then&&"function"==typeof e.then,fe=async(e,t,n)=>{var l;const o=e.$hostElement$,r=o["s-rc"];n&&(e=>{const t=e.O,n=e.$hostElement$,l=t.l,o=((e,t)=>{var n;const l=_(t),o=i.get(l);if(e=11===e.nodeType?e:f,o)if("string"==typeof o){let r,s=V.get(e=e.head||e);if(s||V.set(e,s=new Set),!s.has(l)){{r=f.createElement("style"),r.innerHTML=o;const t=null!=(n=h.C)?n:E(f);null!=t&&r.setAttribute("nonce",t),e.insertBefore(r,e.querySelector("link"))}4&t.l&&(r.innerHTML+=c),s&&s.add(l)}}else e.adoptedStyleSheets.includes(o)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,o]);return l})(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&l&&(n["s-sc"]=o,n.classList.add(o+"-h"))})(e);he(e,t,o,n),r&&(r.map((e=>e())),o["s-rc"]=void 0);{const t=null!=(l=o["s-p"])?l:[],n=()=>de(e);0===t.length?n():(Promise.all(t).then(n),e.l|=4,t.length=0)}},he=(e,t,n,l)=>{try{t=t.render(),e.l&=-17,e.l|=2,((e,t,n=!1)=>{const l=e.$hostElement$,o=e.O,r=e.M||W(null,null),s=(e=>e&&e.m===A)(t)?t:T(null,null,t);if(U=l.tagName,o.P&&(s.u=s.u||{},o.P.map((([e,t])=>s.u[t]=l[e]))),n&&s.u)for(const e of Object.keys(s.u))l.hasAttribute(e)&&!["key","ref","style","class"].includes(e)&&(s.u[e]=l[e]);s.m=null,s.l|=4,e.M=s,s.v=r.v=l.shadowRoot||l,P=l["s-sc"],le(r,s,n)})(e,t,l)}catch(t){r(t,e.$hostElement$)}return null},de=e=>{const t=e.$hostElement$,n=e.t,l=e.j;64&e.l?ye(n,"componentDidUpdate"):(e.l|=64,ve(t),ye(n,"componentDidLoad"),e.U(t),l||me()),e.L(t),e.k&&(e.k(),e.k=void 0),512&e.l&&g((()=>ie(e,!1))),e.l&=-517},pe=e=>{{const t=n(e),l=t.$hostElement$.isConnected;return l&&2==(18&t.l)&&ie(t,!1),l}},me=()=>{ve(f.documentElement),g((()=>G(a,"appload",{detail:{namespace:"arcgis-coding-components"}})))},ye=(e,t,n)=>{if(e&&e[t])try{return e[t](n)}catch(e){r(e)}},ve=e=>e.setAttribute("hydrated",""),we=(e,t,l)=>{var o,s;const i=e.prototype;if(t.R||t.T||e.watchers){e.watchers&&!t.T&&(t.T=e.watchers);const c=Object.entries(null!=(o=t.R)?o:{});if(c.map((([e,[o]])=>{31&o||2&l&&32&o?Object.defineProperty(i,e,{get(){return((e,t)=>n(this).W.get(t))(0,e)},set(l){((e,t,l,o)=>{const s=n(e);if(!s)throw Error(`Couldn't find host element for "${o.S}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`);const i=s.$hostElement$,c=s.W.get(t),u=s.l,a=s.t;if(l=((e,t)=>null==e||O(e)?e:4&t?"false"!==e&&(""===e||!!e):1&t?e+"":e)(l,o.R[t][0]),(!(8&u)||void 0===c)&&l!==c&&(!Number.isNaN(c)||!Number.isNaN(l))&&(s.W.set(t,l),a)){if(o.T&&128&u){const e=o.T[t];e&&e.map((e=>{try{a[e](l,c,t)}catch(e){r(e,i)}}))}if(2==(18&u)){if(a.componentShouldUpdate&&!1===a.componentShouldUpdate(l,c,t))return;ie(s,!1)}}})(this,e,l,t)},configurable:!0,enumerable:!0}):1&l&&64&o&&Object.defineProperty(i,e,{value(...t){var l;const o=n(this);return null==(l=null==o?void 0:o.A)?void 0:l.then((()=>{var n;return null==(n=o.t)?void 0:n[e](...t)}))}})})),1&l){const l=new Map;i.attributeChangedCallback=function(e,o,r){h.jmp((()=>{var s;const c=l.get(e);if(this.hasOwnProperty(c))r=this[c],delete this[c];else{if(i.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==r)return;if(null==c){const l=n(this),i=null==l?void 0:l.l;if(i&&!(8&i)&&128&i&&r!==o){const n=l.t,i=null==(s=t.T)?void 0:s[e];null==i||i.forEach((t=>{null!=n[t]&&n[t].call(n,r,o,e)}))}return}}this[c]=(null!==r||"boolean"!=typeof this[c])&&r}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!=(s=t.T)?s:{}),...c.filter((([e,t])=>15&t[0])).map((([e,n])=>{var o;const r=n[1]||e;return l.set(r,e),512&n[0]&&(null==(o=t.P)||o.push([e,r])),r}))]))}}return e},$e=e=>{ye(e,"connectedCallback")},be=e=>{ye(e,"disconnectedCallback")},ge=(e,o={})=>{var u;const d=[],m=o.exclude||[],y=a.customElements,v=f.head,w=v.querySelector("meta[charset]"),$=f.createElement("style"),b=[];let g,S=!0;Object.assign(h,o),h.o=new URL(o.resourcesUrl||"./",f.baseURI).href;let k=!1;if(e.map((e=>{e[1].map((o=>{var c;const u={l:o[0],S:o[1],R:o[2],D:o[3]};4&u.l&&(k=!0),u.R=o[2],u.P=[],u.T=null!=(c=o[4])?c:{};const a=u.S,f=class extends HTMLElement{constructor(e){if(super(e),this.hasRegisteredEventListeners=!1,((e,n)=>{const l={l:0,$hostElement$:e,O:n,W:new Map};l.A=new Promise((e=>l.L=e)),l.F=new Promise((e=>l.U=e)),e["s-p"]=[],e["s-rc"]=[],t.set(e,l)})(e=this,u),1&u.l)if(e.shadowRoot){if("open"!==e.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${u.S}! Mode is set to ${e.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else e.attachShadow({mode:"open"})}connectedCallback(){this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0),g&&(clearTimeout(g),g=null),S?b.push(this):h.jmp((()=>(e=>{if(!(1&h.l)){const t=n(e),o=t.O,c=()=>{};if(1&t.l)(null==t?void 0:t.t)?$e(t.t):(null==t?void 0:t.F)&&t.F.then((()=>$e(t.t)));else{t.l|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n["s-p"]){se(t,t.j=n);break}}o.R&&Object.entries(o.R).map((([t,[n]])=>{if(31&n&&e.hasOwnProperty(t)){const n=e[t];delete e[t],e[t]=n}})),(async(e,t,n)=>{let o;if(!(32&t.l)){if(t.l|=32,n.H){const e=(e=>{const t=e.S.replace(/-/g,"_"),n=e.H;if(!n)return;const l=s.get(n);return l?l[t]:import(`./${n}.entry.js`).then((e=>(s.set(n,e),e[t])),r)
7
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n);if(e&&"then"in e){const t=()=>{};o=await e,t()}else o=e;if(!o)throw Error(`Constructor for "${n.S}#${t.N}" was not found`);o.isProxied||(n.T=o.watchers,we(o,n,2),o.isProxied=!0);const i=()=>{};t.l|=8;try{o.__forceUpdate=pe,o.__registerControllers=e=>(l(e,t),t.O.R??{}),new o(t),o.__registerControllers=void 0}catch(e){r(e)}t.l&=-9,t.l|=128,i(),$e(t.t)}else o=e.constructor,customElements.whenDefined(e.localName).then((()=>t.l|=128));if(o&&o.style){let e;"string"==typeof o.style&&(e=o.style);const t=_(n);if(!i.has(t)){const l=()=>{};((e,t,n)=>{let l=i.get(e);p&&n?(l=l||new CSSStyleSheet,"string"==typeof l?l=t:l.replaceSync(t)):l=t,i.set(e,l)})(t,e,!!(1&n.l)),l()}}}const c=t.j,u=()=>ie(t,!0);c&&c["s-rc"]?c["s-rc"].push(u):u()})(e,t,o)}c()}})(this)))}disconnectedCallback(){h.jmp((()=>(async()=>{if(!(1&h.l)){const e=n(this);(null==e?void 0:e.t)?be(e.t):(null==e?void 0:e.F)&&e.F.then((()=>be(e.t)))}})()))}componentOnReady(){return n(this).F}};u.H=e[0],m.includes(a)||y.get(a)||(d.push(a),y.define(a,we(f,u,1)))}))})),d.length>0&&(k&&($.textContent+=c),$.textContent+=d.sort()+"{visibility:hidden}[hydrated]{visibility:inherit}",$.innerHTML.length)){$.setAttribute("data-styles","");const e=null!=(u=h.C)?u:E(f);null!=e&&$.setAttribute("nonce",e),v.insertBefore($,w?w.nextSibling:v.firstChild)}S=!1,b.length?b.map((e=>e.connectedCallback())):h.jmp((()=>g=setTimeout(me,30)))},Se=(e,t)=>t,ke=e=>h.C=e;export{Se as F,A as H,N as a,ge as b,q as c,k as g,T as h,d as p,l as r,ke as s}
@@ -1,6 +1,6 @@
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.51
4
+ * v4.31.0-next.54
5
5
  */
6
- import{m as t,f as e,i as n,a,b as r,c as i,s,L as o,d as c,E as u,U as d}from"./p-1e2c061f.js";import{g as l}from"./p-cccd46d5.js";async function p(){return(await f()).getArcadeDiagnosticService()}async function f(){return await import("./p-38b10ccb.js")}async function y(n,a=t.exports.CompletionItemKind.Variable){return await Promise.all(n.map((async n=>{switch(n.type){case"dictionary":return await async function(e,n){const{name:a,dictionaryVariables:r}=e,i=e.getDescription(),s=r.reduce(((t,e)=>{""!==t&&(t+=" \n \n"),t+=`**${e.name}** \n${e.type}`;const n=e.getDescription();return n&&(t+=` \n${n}`),t}),i);return{name:a,description:i,type:"dictionary",properties:await y(r,t.exports.CompletionItemKind.Field),completion:{label:a,detail:a,insertText:a,insertTextMode:t.exports.InsertTextMode.asIs,insertTextFormat:t.exports.InsertTextFormat.PlainText,kind:n,documentation:{kind:"markdown",value:s}}}}(n,a);case"feature":return await async function(n,a){const r=await n.loadSource(),{name:i}=n,s=n.getDescription(),o={label:i,detail:i,insertText:i,insertTextMode:t.exports.InsertTextMode.asIs,insertTextFormat:t.exports.InsertTextFormat.PlainText,kind:a},c={name:i,description:s,type:"dictionary",properties:[],completion:o};if(!r)return c;const[u,d]=e(r.fields,s,!0);return c.properties=u,o.documentation={kind:"markdown",value:d},c}(n,a);default:return function(e,n){const{name:a,type:r}=e,i=e.getDescription();return{name:a,description:i,type:r,completion:{label:a,detail:a,insertText:a,insertTextMode:t.exports.InsertTextMode.asIs,insertTextFormat:t.exports.InsertTextFormat.PlainText,kind:n,documentation:{kind:"markdown",value:i}}}}(n,a)}})))}async function w(t="en"){const e=m.get(t);if(e)return e;if(!s.has(t))return await w("en");try{const e=await fetch(l(`./assets/arcade-language/profiles/arcade-profiles.t9n.${t}.json`));return e.ok?function(t,e){const n=new Map;return e.forEach((t=>{n.set(t.id,t)})),m.set(t,n),n}(t,await e.json()):"en"===t?null:await w("en")}catch{return null}}const m=new Map;function h(t){switch(t.type){case"dictionary":return{...t,type:t.type,properties:(e=t.properties,e?.map(h))};case"array":return{...t,type:t.type,elementType:{type:"number",name:"number"}};default:return{...t,type:t.type}}var e}async function b(t,e="en"){if(!n(t))return;const s=await async function(t,e="en"){const n=await w(e);return n?.get(t)??null}(t.id,e);if(!s)return;const o={bundles:[...s.bundles],variables:[],hiddenApiItems:t.hiddenApiItems?.map((t=>t.toLowerCase()))};var c;return s.variables.forEach((e=>{if(t.disabledVariables?.includes(e.name))return;const n=t.definitions[e.name];switch(e.type){case"dictionary":return o.variables.push(h({...e,type:e.type,properties:Array.isArray(n)?[...n]:e.properties}));case"feature":if(!i(n))return;return o.variables.push({...e,type:e.type,definition:n});case"featureSet":if(!r(n))return;return o.variables.push({...e,type:e.type,definition:n});case"featureSetCollection":if(!a(n))return;return o.variables.push({...e,type:e.type,definition:n});default:return o.variables.push(h(e))}})),(c=t)&&"object"==typeof c&&"additionalVariables"in c&&Array.isArray(c.additionalVariables)&&o.variables.push(...t.additionalVariables??[]),o}const g=new class extends o{constructor(){super(...arguments),this._languageId="arcade",this._languageOptions={}}async setProfileForModel(t,e,a={locale:"en"}){n(e)&&(e=await b(e,a.locale));const r=await c(a.locale,l("./assets/arcade-language/t9n"),"profile.t9n.");if(!r)throw new Error(`Failed to load the language bundle for ${a.locale}`);this.disposeForModel(t);const i=this._getApiKey(t),s=new u(e,r);this._profileMap.set(i,s);const o=await async function(t){const{apiVersion:e,bundles:n,hiddenApiItems:a}=t.toEditorProfileDefinition();return{apiVersion:e,bundles:n,variables:await y(t.dictionaryVariables),hiddenApiItems:a?.map((t=>t.toLowerCase()))}}(s);this.updateApiContextForModel(t,{locale:a.locale,profile:o,snippets:a.snippets})}setLanguageOptions(t={}){this._languageOptions.assetsPath!==t.assetsPath&&(this._languageOptions={...this._languageOptions,...t},this._onDidChange.fire(this))}async getApiLibrary(t){const e=d.parse(t),n=await async function(t){const e=await f();return await e.getArcadeWorker(t)}(e);return await n.getApiLibrary(this.getApiContextForModel(e))}},x={setProfileForModel:g.setProfileForModel.bind(g),getApiLibrary:g.getApiLibrary.bind(g)};export{x as a,g as b,f as c,p as g}
6
+ import{m as t,f as e,i as n,a,b as r,c as i,s,L as o,d as c,E as u,U as d}from"./p-5f82bda4.js";import{g as l}from"./p-9cfd8c44.js";async function p(){return(await f()).getArcadeDiagnosticService()}async function f(){return await import("./p-83675007.js")}async function y(n,a=t.exports.CompletionItemKind.Variable){return await Promise.all(n.map((async n=>{switch(n.type){case"dictionary":return await async function(e,n){const{name:a,dictionaryVariables:r}=e,i=e.getDescription(),s=r.reduce(((t,e)=>{""!==t&&(t+=" \n \n"),t+=`**${e.name}** \n${e.type}`;const n=e.getDescription();return n&&(t+=` \n${n}`),t}),i);return{name:a,description:i,type:"dictionary",properties:await y(r,t.exports.CompletionItemKind.Field),completion:{label:a,detail:a,insertText:a,insertTextMode:t.exports.InsertTextMode.asIs,insertTextFormat:t.exports.InsertTextFormat.PlainText,kind:n,documentation:{kind:"markdown",value:s}}}}(n,a);case"feature":return await async function(n,a){const r=await n.loadSource(),{name:i}=n,s=n.getDescription(),o={label:i,detail:i,insertText:i,insertTextMode:t.exports.InsertTextMode.asIs,insertTextFormat:t.exports.InsertTextFormat.PlainText,kind:a},c={name:i,description:s,type:"dictionary",properties:[],completion:o};if(!r)return c;const[u,d]=e(r.fields,s,!0);return c.properties=u,o.documentation={kind:"markdown",value:d},c}(n,a);default:return function(e,n){const{name:a,type:r}=e,i=e.getDescription();return{name:a,description:i,type:r,completion:{label:a,detail:a,insertText:a,insertTextMode:t.exports.InsertTextMode.asIs,insertTextFormat:t.exports.InsertTextFormat.PlainText,kind:n,documentation:{kind:"markdown",value:i}}}}(n,a)}})))}async function w(t="en"){const e=m.get(t);if(e)return e;if(!s.has(t))return await w("en");try{const e=await fetch(l(`./assets/arcade-language/profiles/arcade-profiles.t9n.${t}.json`));return e.ok?function(t,e){const n=new Map;return e.forEach((t=>{n.set(t.id,t)})),m.set(t,n),n}(t,await e.json()):"en"===t?null:await w("en")}catch{return null}}const m=new Map;function h(t){switch(t.type){case"dictionary":return{...t,type:t.type,properties:(e=t.properties,e?.map(h))};case"array":return{...t,type:t.type,elementType:{type:"number",name:"number"}};default:return{...t,type:t.type}}var e}async function b(t,e="en"){if(!n(t))return;const s=await async function(t,e="en"){const n=await w(e);return n?.get(t)??null}(t.id,e);if(!s)return;const o={bundles:[...s.bundles],variables:[],hiddenApiItems:t.hiddenApiItems?.map((t=>t.toLowerCase()))};var c;return s.variables.forEach((e=>{if(t.disabledVariables?.includes(e.name))return;const n=t.definitions[e.name];switch(e.type){case"dictionary":return o.variables.push(h({...e,type:e.type,properties:Array.isArray(n)?[...n]:e.properties}));case"feature":if(!i(n))return;return o.variables.push({...e,type:e.type,definition:n});case"featureSet":if(!r(n))return;return o.variables.push({...e,type:e.type,definition:n});case"featureSetCollection":if(!a(n))return;return o.variables.push({...e,type:e.type,definition:n});default:return o.variables.push(h(e))}})),(c=t)&&"object"==typeof c&&"additionalVariables"in c&&Array.isArray(c.additionalVariables)&&o.variables.push(...t.additionalVariables??[]),o}const g=new class extends o{constructor(){super(...arguments),this._languageId="arcade",this._languageOptions={}}async setProfileForModel(t,e,a={locale:"en"}){n(e)&&(e=await b(e,a.locale));const r=await c(a.locale,l("./assets/arcade-language/t9n"),"profile.t9n.");if(!r)throw new Error(`Failed to load the language bundle for ${a.locale}`);this.disposeForModel(t);const i=this._getApiKey(t),s=new u(e,r);this._profileMap.set(i,s);const o=await async function(t){const{apiVersion:e,bundles:n,hiddenApiItems:a}=t.toEditorProfileDefinition();return{apiVersion:e,bundles:n,variables:await y(t.dictionaryVariables),hiddenApiItems:a?.map((t=>t.toLowerCase()))}}(s);this.updateApiContextForModel(t,{locale:a.locale,profile:o,snippets:a.snippets})}setLanguageOptions(t={}){this._languageOptions.assetsPath!==t.assetsPath&&(this._languageOptions={...this._languageOptions,...t},this._onDidChange.fire(this))}async getApiLibrary(t){const e=d.parse(t),n=await async function(t){const e=await f();return await e.getArcadeWorker(t)}(e);return await n.getApiLibrary(this.getApiContextForModel(e))}},x={setProfileForModel:g.setProfileForModel.bind(g),getApiLibrary:g.getApiLibrary.bind(g)};export{x as a,g as b,f as c,p as g}
@@ -1,6 +1,6 @@
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.51
4
+ * v4.31.0-next.54
5
5
  */
6
- import{g as e,P as t,z as s,Q as i}from"./p-1e2c061f.js";import{a as n}from"./p-8b045366.js";import"./p-cccd46d5.js";class o{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange((()=>this.stopWorker()))}dispose(){this._configChangeListener.dispose(),this.stopWorker()}stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _getClientProxy(){if(!this._client){const{languageId:t,languageOptions:s}=this._defaults;this._worker=e.createWebWorker({moduleId:"SqlExprWorker",label:t,createData:{languageId:t,languageOptions:s}}),this._client=this._worker.getProxy()}return await this._client}async getLanguageServiceWorker(...e){const t=await this._getClientProxy();return await(this._worker?.withSyncedResources(e)),t}}var r,c;!function(e){e.ARGS="args",e.CLAUSES="clauses",e.ELSE="else",e.END="end",e.EXPR="expr",e.LEFT="left",e.OPERAND="operand",e.QUALIFIER="qualifier",e.RIGHT="right",e.START="start",e.VALUE="value"}(r||(r={})),function(e){e.CASE_EXPRESSION="case-expression",e.EXPRESSION_LIST="expression-list",e.FUNCTION="function",e.INTERVAL="interval",e.INTERVAL_QUALIFIER="interval-qualifier",e.WHEN_CLAUSE="when-clause",e.UNARY_EXPRESSION="unary-expression",e.BINARY_EXPRESSION="binary-expression"}(c||(c={})),Object.values({date:"DATE",float:"FLOAT",integer:"INTEGER",real:"REAL",smallint:"SMALLINT",time:"TIME",timestamp:"TIMESTAMP",varchar:"VARCHAR"});const a={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},l={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["AND","AS","BETWEEN","BOTH","CASE","CAST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DAY","ELSE","END","ESCAPE","FALSE","FLOAT","FOR","FROM","HOUR","IN","INTEGER","INTERVAL","IS","LEADING","LIKE","MINUTE","MONTH","NOT","NULL","OR","POSITION","REAL","SECOND","SMALLINT","SUBSTRING","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRIM","TRUE","VARCHAR","WHEN","WITH","YEAR","ZONE"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL"],builtinFunctions:["CAST","EXTRACT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","ABS","ACOS","ASIN","ATAN","CEILING","COS","FLOOR","LOG","LOG10","POWER","ROUND","SIGN","SIN","TAN","CHAR_LENGTH","COALESCE","CONCAT","LOWER","POSITION","TRIM","UPPER"],builtinVariables:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@keywords":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N'/,{token:"string",next:"@string"}],[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[[/(BEGIN|CASE)\b/i,{token:"keyword.block"}],[/END\b/i,{token:"keyword.block"}],[/WHEN\b/i,{token:"keyword.choice"}],[/THEN\b/i,{token:"keyword.choice"}]]}};class u{constructor(e,t){this._worker=e,this._defaults=t}async provideCompletionItems(e,t){try{const s=await this._worker(e.uri),i=e.getWordUntilPosition(t),n={startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:i.startColumn,endColumn:i.endColumn},o=this._defaults.getApiContextForModel(e.uri);return await s.doComplete(e.uri.toString(),n,t,o)}catch(e){return console.error(e),{suggestions:[]}}}}class h{constructor(s,i,{defaults:n,diagnosticService:o}){this._languageId=s,this._worker=i,this._disposables=[],this._listener=new Map,this._diagnosticsService=o,this._defaults=n;const r=e=>{const s=e.getLanguageId();if(s!==this._languageId)return;const i=t((()=>{this._doValidate(e,s).catch((e=>{throw e}))}));this._listener.set(e.uri.toString(),e.onDidChangeContent(i)),this._doValidate(e,s).catch(console.error)},c=t=>{const s=t.uri.toString();e.setModelMarkers(t,this._languageId,[]);const i=this._listener.get(s);i&&(i.dispose(),this._listener.delete(s))};this._disposables.push(e.onDidCreateModel(r)),this._disposables.push(e.onWillDisposeModel((e=>c(e)))),this._disposables.push(e.onDidChangeModelLanguage((e=>{c(e.model),r(e.model)}))),this._disposables.push(n.onDidChange((()=>{e.getModels().forEach((e=>{e.getLanguageId()===this._languageId&&(c(e),r(e))}))}))),this._disposables.push(n.onModelContextDidChange((t=>{e.getModels().forEach((e=>{e.getLanguageId()===this._languageId&&e.uri.toString()===t&&this._doValidate(e,this._languageId).catch(console.error)}))}))),this._disposables.push({dispose:()=>{this._listener.forEach((e=>e.dispose())),this._listener.clear()}}),e.getModels().forEach(r)}async _doValidate(t,s){if(t.isAttachedToEditor())try{const i=await this._worker(t.uri),n=this._defaults.getApiContextForModel(t.uri),o=await i.doValidation(t.uri.toString(),n);this._diagnosticsService.fireDiagnosticsChange(t.uri,o),e.setModelMarkers(t,s,o)}catch(e){console.error(e)}}}let E;async function d(...e){return await new Promise(((t,s)=>{E?t(E(...e)):s(new Error("sql expression worker not registered!"))}))}const T=new class{constructor(){this._onDiagnosticsChange=new i}get onDiagnosticsChange(){return this._onDiagnosticsChange.event}fireDiagnosticsChange(e,t){this._onDiagnosticsChange.fire({uri:e,diagnostics:t})}};function p(){return T}function N(e){const t=new o(e),i=async(...e)=>await t.getLanguageServiceWorker(...e);E=i,s.setMonarchTokensProvider(n.languageId,l),s.setLanguageConfiguration(n.languageId,a);const r=new u(i,n);s.registerCompletionItemProvider(n.languageId,r),new h(e.languageId,i,{defaults:e,diagnosticService:T})}export{p as getSqlExprDiagnosticService,d as getSqlExprWorker,N as setupMode}
6
+ import{g as e,P as t,z as s,Q as i}from"./p-5f82bda4.js";import{a as n}from"./p-0d09a590.js";import"./p-9cfd8c44.js";class o{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange((()=>this.stopWorker()))}dispose(){this._configChangeListener.dispose(),this.stopWorker()}stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _getClientProxy(){if(!this._client){const{languageId:t,languageOptions:s}=this._defaults;this._worker=e.createWebWorker({moduleId:"SqlExprWorker",label:t,createData:{languageId:t,languageOptions:s}}),this._client=this._worker.getProxy()}return await this._client}async getLanguageServiceWorker(...e){const t=await this._getClientProxy();return await(this._worker?.withSyncedResources(e)),t}}var r,a;!function(e){e.ARGS="args",e.CLAUSES="clauses",e.ELSE="else",e.END="end",e.EXPR="expr",e.LEFT="left",e.OPERAND="operand",e.QUALIFIER="qualifier",e.RIGHT="right",e.START="start",e.VALUE="value"}(r||(r={})),function(e){e.CASE_EXPRESSION="case-expression",e.EXPRESSION_LIST="expression-list",e.FUNCTION="function",e.INTERVAL="interval",e.INTERVAL_QUALIFIER="interval-qualifier",e.WHEN_CLAUSE="when-clause",e.UNARY_EXPRESSION="unary-expression",e.BINARY_EXPRESSION="binary-expression"}(a||(a={})),Object.values({date:"DATE",float:"FLOAT",integer:"INTEGER",real:"REAL",smallint:"SMALLINT",time:"TIME",timestamp:"TIMESTAMP",varchar:"VARCHAR"});const c={comments:{lineComment:"--",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}]},l={defaultToken:"",tokenPostfix:".sql",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["AND","AS","BETWEEN","BOTH","CASE","CAST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DAY","ELSE","END","ESCAPE","FALSE","FLOAT","FOR","FROM","HOUR","IN","INTEGER","INTERVAL","IS","LEADING","LIKE","MINUTE","MONTH","NOT","NULL","OR","POSITION","REAL","SECOND","SMALLINT","SUBSTRING","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRIM","TRUE","VARCHAR","WHEN","WITH","YEAR","ZONE"],operators:["AND","BETWEEN","IN","LIKE","NOT","OR","IS","NULL"],builtinFunctions:["CAST","EXTRACT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","ABS","ACOS","ASIN","ATAN","CEILING","COS","FLOOR","LOG","LOG10","POWER","ROUND","SIGN","SIN","TAN","CHAR_LENGTH","COALESCE","CONCAT","LOWER","POSITION","TRIM","UPPER"],builtinVariables:[],tokenizer:{root:[{include:"@comments"},{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},{include:"@complexIdentifiers"},{include:"@scopes"},[/[;,.]/,"delimiter"],[/[()]/,"@brackets"],[/[\w@#$]+/,{cases:{"@operators":"operator","@builtinVariables":"predefined","@builtinFunctions":"predefined","@keywords":"keyword","@default":"identifier"}}],[/[<>=!%&+\-*/|~^]/,"operator"]],whitespace:[[/\s+/,"white"]],comments:[[/--+.*/,"comment"],[/\/\*/,{token:"comment.quote",next:"@comment"}]],comment:[[/[^*/]+/,"comment"],[/\*\//,{token:"comment.quote",next:"@pop"}],[/./,"comment"]],numbers:[[/0[xX][0-9a-fA-F]*/,"number"],[/[$][+-]*\d*(\.\d*)?/,"number"],[/((\d+(\.\d*)?)|(\.\d+))([eE][\-+]?\d+)?/,"number"]],strings:[[/N'/,{token:"string",next:"@string"}],[/'/,{token:"string",next:"@string"}]],string:[[/[^']+/,"string"],[/''/,"string"],[/'/,{token:"string",next:"@pop"}]],complexIdentifiers:[[/"/,{token:"identifier.quote",next:"@quotedIdentifier"}]],quotedIdentifier:[[/[^"]+/,"identifier"],[/""/,"identifier"],[/"/,{token:"identifier.quote",next:"@pop"}]],scopes:[[/(BEGIN|CASE)\b/i,{token:"keyword.block"}],[/END\b/i,{token:"keyword.block"}],[/WHEN\b/i,{token:"keyword.choice"}],[/THEN\b/i,{token:"keyword.choice"}]]}};class u{constructor(e,t){this._worker=e,this._defaults=t}async provideCompletionItems(e,t){try{const s=await this._worker(e.uri),i=e.getWordUntilPosition(t),n={startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:i.startColumn,endColumn:i.endColumn},o=this._defaults.getApiContextForModel(e.uri);return await s.doComplete(e.uri.toString(),n,t,o)}catch(e){return console.error(e),{suggestions:[]}}}}class h{constructor(s,i,{defaults:n,diagnosticService:o}){this._languageId=s,this._worker=i,this._disposables=[],this._listener=new Map,this._diagnosticsService=o,this._defaults=n;const r=e=>{const s=e.getLanguageId();if(s!==this._languageId)return;const i=t((()=>{this._doValidate(e,s).catch((e=>{throw e}))}));this._listener.set(e.uri.toString(),e.onDidChangeContent(i)),this._doValidate(e,s).catch(console.error)},a=t=>{const s=t.uri.toString();e.setModelMarkers(t,this._languageId,[]);const i=this._listener.get(s);i&&(i.dispose(),this._listener.delete(s))};this._disposables.push(e.onDidCreateModel(r)),this._disposables.push(e.onWillDisposeModel((e=>a(e)))),this._disposables.push(e.onDidChangeModelLanguage((e=>{a(e.model),r(e.model)}))),this._disposables.push(n.onDidChange((()=>{e.getModels().forEach((e=>{e.getLanguageId()===this._languageId&&(a(e),r(e))}))}))),this._disposables.push(n.onModelContextDidChange((t=>{e.getModels().forEach((e=>{e.getLanguageId()===this._languageId&&e.uri.toString()===t&&this._doValidate(e,this._languageId).catch(console.error)}))}))),this._disposables.push({dispose:()=>{this._listener.forEach((e=>e.dispose())),this._listener.clear()}}),e.getModels().forEach(r)}async _doValidate(t,s){if(t.isAttachedToEditor())try{const i=await this._worker(t.uri),n=this._defaults.getApiContextForModel(t.uri),o=await i.doValidation(t.uri.toString(),n);this._diagnosticsService.fireDiagnosticsChange(t.uri,o),e.setModelMarkers(t,s,o)}catch(e){console.error(e)}}}let E;async function d(...e){return await new Promise(((t,s)=>{E?t(E(...e)):s(new Error("sql expression worker not registered!"))}))}const T=new class{constructor(){this._onDiagnosticsChange=new i}get onDiagnosticsChange(){return this._onDiagnosticsChange.event}fireDiagnosticsChange(e,t){this._onDiagnosticsChange.fire({uri:e,diagnostics:t})}};function p(){return T}function N(e){const t=new o(e),i=async(...e)=>await t.getLanguageServiceWorker(...e);E=i,s.setMonarchTokensProvider(n.languageId,l),s.setLanguageConfiguration(n.languageId,c);const r=new u(i,n);s.registerCompletionItemProvider(n.languageId,r),new h(e.languageId,i,{defaults:e,diagnosticService:T})}export{p as getSqlExprDiagnosticService,d as getSqlExprWorker,N as setupMode}