@arcgis/coding-components 5.0.0-next.116 → 5.0.0-next.117

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 (86) hide show
  1. package/dist/addons.js +1 -1
  2. package/dist/cdn/{QJQAOLAC.js → 32C4BL2H.js} +2 -2
  3. package/dist/cdn/{IBKP7EVS.js → 3ESONAOC.js} +2 -2
  4. package/dist/cdn/{VR2FY3BO.js → 3TIU6I4R.js} +1 -1
  5. package/dist/cdn/{HAU34O2T.js → 3YI4DZ2P.js} +2 -2
  6. package/dist/cdn/{KZ3NNHCH.js → 4QSPVJ2Y.js} +2 -2
  7. package/dist/cdn/{5E34XUIB.js → 4RTJUSSE.js} +2 -2
  8. package/dist/cdn/{PEDVTCDU.js → 5GZ6AQOR.js} +2 -2
  9. package/dist/cdn/{GAFDXLRK.js → 5PVXCYRG.js} +1 -1
  10. package/dist/cdn/{SARGQYJB.js → 72O5FOQ6.js} +2 -2
  11. package/dist/cdn/{ATMZJVQS.js → 743WBO4C.js} +2 -2
  12. package/dist/cdn/{7V25IS6A.js → 7LCYSJLO.js} +2 -2
  13. package/dist/cdn/{RSX4DVU2.js → BBTFKXKC.js} +2 -2
  14. package/dist/cdn/{5OKP7MR6.js → CBH3YD5V.js} +2 -2
  15. package/dist/cdn/{XZO6ZBYE.js → DGBXPAKT.js} +2 -2
  16. package/dist/cdn/{V7NFXJT4.js → DXNW6D6I.js} +3 -3
  17. package/dist/cdn/{2VBQTKPJ.js → DY3OI7XC.js} +2 -2
  18. package/dist/cdn/{ZFJ2WJ7H.js → EE56RGTR.js} +2 -2
  19. package/dist/cdn/{LHKKZWM7.js → GGNTPGIG.js} +2 -2
  20. package/dist/cdn/{PE2O2A3D.js → GH4N3RJ7.js} +1 -1
  21. package/dist/cdn/IGZQIWPL.js +4 -0
  22. package/dist/cdn/{FXCCH2NR.js → JFR75LCY.js} +2 -2
  23. package/dist/cdn/{AFWFVZ3D.js → JLXWSWTP.js} +2 -2
  24. package/dist/cdn/{YCFI5E4G.js → KYRUNBT4.js} +1 -1
  25. package/dist/cdn/{E3ACBLRP.js → L5CKYMQ2.js} +1 -1
  26. package/dist/cdn/{JHIMMZLU.js → LG4AIJ74.js} +2 -2
  27. package/dist/cdn/{D6OLHQF3.js → LUAG2AT4.js} +2 -2
  28. package/dist/cdn/{2VDNM4E2.js → MIBGQRJ5.js} +1 -1
  29. package/dist/cdn/{EFBFASZ2.js → MLRL5MY5.js} +1 -1
  30. package/dist/cdn/{TASZMXVX.js → MMPDHK62.js} +2 -2
  31. package/dist/cdn/{7JJPXZKZ.js → MQAA4Q34.js} +2 -2
  32. package/dist/cdn/{ENLUMTM2.js → Q6HBUKBG.js} +1 -1
  33. package/dist/cdn/{OVHUPF6I.js → QJGRZ52J.js} +2 -2
  34. package/dist/cdn/{BKDPALF4.js → R25AOVQI.js} +2 -2
  35. package/dist/cdn/{KWHR4CPP.js → RCCHCRBY.js} +2 -2
  36. package/dist/cdn/{SSXARCZF.js → REFA73IT.js} +2 -2
  37. package/dist/cdn/{JLKSWW5G.js → RIJA6KCS.js} +2 -2
  38. package/dist/cdn/{GRGNF5BP.js → S3CSPVIS.js} +2 -2
  39. package/dist/cdn/{PLGJ2YGG.js → TFYG6QRF.js} +2 -2
  40. package/dist/cdn/{NP2YJUNW.js → TPITNDNO.js} +2 -2
  41. package/dist/cdn/{FGWMLBVV.js → TQ27ZXJU.js} +2 -2
  42. package/dist/cdn/{LDRKCODQ.js → UGWAYLAD.js} +2 -2
  43. package/dist/cdn/{PCXGFTQ5.js → VK2XJTFA.js} +2 -2
  44. package/dist/cdn/{OI2LQPNO.js → VNTGBHCR.js} +2 -2
  45. package/dist/cdn/{DTYDEUN2.js → X2G4UH4E.js} +2 -2
  46. package/dist/cdn/{VPJMN4YI.js → XP23PVIV.js} +2 -2
  47. package/dist/cdn/{WCZCRBXC.js → XY5DXEWD.js} +2 -2
  48. package/dist/cdn/{UBD2AOJU.js → ZHS7QFVK.js} +2 -2
  49. package/dist/cdn/{RIWO6MXU.js → ZVYUGRG2.js} +2 -2
  50. package/dist/cdn/assets/code-editor/sql-expr.worker.js +103 -103
  51. package/dist/cdn/index.js +2 -2
  52. package/dist/chunks/arcade-contribution.js +1 -1
  53. package/dist/chunks/arcade-defaults.js +1 -1
  54. package/dist/chunks/arcade-executor.js +1 -1
  55. package/dist/chunks/arcade-mode.js +1 -1
  56. package/dist/chunks/arcade-service-accessors.js +1 -1
  57. package/dist/chunks/colorize.js +1 -1
  58. package/dist/chunks/fields.js +1 -1
  59. package/dist/chunks/language-defaults-base.js +1 -1
  60. package/dist/chunks/markdown.js +1 -1
  61. package/dist/chunks/monaco-importer.js +1 -1
  62. package/dist/chunks/monaco-theme.js +1 -1
  63. package/dist/chunks/runtime.js +1 -1
  64. package/dist/chunks/sql-expr-defaults.js +1 -1
  65. package/dist/chunks/sql-expr-mode.js +1 -1
  66. package/dist/chunks/sql-expr-service-accessors.js +1 -1
  67. package/dist/chunks/useT9n.js +1 -1
  68. package/dist/chunks/utilities.js +1 -1
  69. package/dist/components/arcgis-arcade-coding-assistant/customElement.js +1 -1
  70. package/dist/components/arcgis-arcade-editor/customElement.js +1 -1
  71. package/dist/components/arcgis-arcade-results/customElement.js +1 -1
  72. package/dist/components/arcgis-arcade-suggestions/customElement.js +1 -1
  73. package/dist/components/arcgis-code-editor/customElement.js +1 -1
  74. package/dist/components/arcgis-code-editor-shell/customElement.js +1 -1
  75. package/dist/components/arcgis-code-viewer/customElement.js +1 -1
  76. package/dist/components/arcgis-editor-variables/customElement.js +1 -1
  77. package/dist/components/arcgis-language-api-panel/customElement.js +1 -1
  78. package/dist/components/arcgis-sql-expression-editor/customElement.js +1 -1
  79. package/dist/components/arcgis-sql-expression-fields/customElement.js +1 -1
  80. package/dist/docs/api.json +2 -2
  81. package/dist/docs/docs.json +2 -2
  82. package/dist/docs/web-types.json +1 -1
  83. package/dist/index.js +1 -1
  84. package/dist/loader.js +1 -1
  85. package/package.json +5 -5
  86. package/dist/cdn/4VCUCVBK.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
2
2
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
3
- v5.0.0-next.116 */
4
- import{a}from"./IBKP7EVS.js";import{a as m}from"./JHIMMZLU.js";import"./NP2YJUNW.js";import c from"./PCXGFTQ5.js";import b from"./WCZCRBXC.js";import"./GAFDXLRK.js";import"./PEDVTCDU.js";import"./V7NFXJT4.js";import"./PE2O2A3D.js";import"./ZFJ2WJ7H.js";import"./OVHUPF6I.js";import{F as n,J as d,h as r,j as i,n as s}from"./DTYDEUN2.js";import"./EFBFASZ2.js";import"./BKDPALF4.js";import"./2VDNM4E2.js";export default $arcgis.t(([,h])=>{var g=r`:host{calcite-flow{height:100%}calcite-list-item-group{background-color:var(--calcite-color-foreground-2)}}`,c=class extends n{constructor(){super(...arguments),this.messages=m(),this._filterValue="",this._flowItemRenderers=[],this._mutationCounter=1,this.loading=!1,this.arcgisClose=s({bubbles:!1}),this.arcgisFieldSelected=s({bubbles:!1})}static{this.properties={_filterValue:16,_flowItemRenderers:16,_mutationCounter:16,loading:5,modelId:1}}static{this.styles=g}willUpdate(t){t.has("modelId")&&(this._flowItemRenderers=[])}disconnectedCallback(){super.disconnectedCallback(),this._flowObserver?.disconnect()}_handleSelectField(t){if(t.target instanceof HTMLElement)switch(t.target.tagName.toLowerCase()){case"calcite-list-item":{let e=t.target.value;this.arcgisFieldSelected.emit(e??"");break}case"calcite-action":t.stopPropagation();break}}_handleSelectDomain(t){let e=t.target.value;this.arcgisFieldSelected.emit(e?`'${e}'`:"")}_emitClose(){this.arcgisClose.emit()}render(){let t=h.getFeatureLayerForModel(this.modelId??"");return this.loading||!this.modelId||!t?i`<calcite-block .heading=${this.messages.availablefields??""}></calcite-block>`:i`<calcite-flow><calcite-flow-item heading-level=2 .heading=${this.messages.availablefields??""} closable @calciteFlowItemClose=${this._emitClose}><calcite-list label=fields filter-enabled>${a(t.fields,e=>e.name,e=>i`<calcite-list-item @click=${this._handleSelectField} .label=${e.name} .description=${e.alias??""} .value=${e.name}>${e.domain&&i`<calcite-action slot=actions-end text=open icon=chevron-right @click=${()=>{let o=e.domain;o?.type==="coded-value"&&(this._flowItemRenderers=[...this._flowItemRenderers,()=>i`<calcite-flow-item closable heading-level=2 .heading=${this.messages.domainvalues??""} .description=${e.name} @calciteFlowItemClose=${this._emitClose}><calcite-list label=domains>${a(o.codedValues,l=>l.code,l=>i`<calcite-list-item @click=${this._handleSelectDomain} .label=${l.name} .description=${String(l.code)} .value=${String(l.code)}></calcite-list-item>`)}</calcite-list></calcite-flow-item>`])}}></calcite-action>`||""}</calcite-list-item>`)}</calcite-list></calcite-flow-item>${this._flowItemRenderers.map(e=>e())}</calcite-flow>`}};d("arcgis-sql-expression-fields",c);return c},b,c)
3
+ v5.0.0-next.117 */
4
+ import{a}from"./3ESONAOC.js";import{a as m}from"./LG4AIJ74.js";import"./TPITNDNO.js";import c from"./VK2XJTFA.js";import b from"./XY5DXEWD.js";import"./5PVXCYRG.js";import"./5GZ6AQOR.js";import"./DXNW6D6I.js";import"./GH4N3RJ7.js";import"./EE56RGTR.js";import"./QJGRZ52J.js";import{F as n,J as d,h as r,j as i,n as s}from"./X2G4UH4E.js";import"./MLRL5MY5.js";import"./R25AOVQI.js";import"./MIBGQRJ5.js";export default $arcgis.t(([,h])=>{var g=r`:host{calcite-flow{height:100%}calcite-list-item-group{background-color:var(--calcite-color-foreground-2)}}`,c=class extends n{constructor(){super(...arguments),this.messages=m(),this._filterValue="",this._flowItemRenderers=[],this._mutationCounter=1,this.loading=!1,this.arcgisClose=s({bubbles:!1}),this.arcgisFieldSelected=s({bubbles:!1})}static{this.properties={_filterValue:16,_flowItemRenderers:16,_mutationCounter:16,loading:5,modelId:1}}static{this.styles=g}willUpdate(t){t.has("modelId")&&(this._flowItemRenderers=[])}disconnectedCallback(){super.disconnectedCallback(),this._flowObserver?.disconnect()}_handleSelectField(t){if(t.target instanceof HTMLElement)switch(t.target.tagName.toLowerCase()){case"calcite-list-item":{let e=t.target.value;this.arcgisFieldSelected.emit(e??"");break}case"calcite-action":t.stopPropagation();break}}_handleSelectDomain(t){let e=t.target.value;this.arcgisFieldSelected.emit(e?`'${e}'`:"")}_emitClose(){this.arcgisClose.emit()}render(){let t=h.getFeatureLayerForModel(this.modelId??"");return this.loading||!this.modelId||!t?i`<calcite-block .heading=${this.messages.availablefields??""}></calcite-block>`:i`<calcite-flow><calcite-flow-item heading-level=2 .heading=${this.messages.availablefields??""} closable @calciteFlowItemClose=${this._emitClose}><calcite-list label=fields filter-enabled>${a(t.fields,e=>e.name,e=>i`<calcite-list-item @click=${this._handleSelectField} .label=${e.name} .description=${e.alias??""} .value=${e.name}>${e.domain&&i`<calcite-action slot=actions-end text=open icon=chevron-right @click=${()=>{let o=e.domain;o?.type==="coded-value"&&(this._flowItemRenderers=[...this._flowItemRenderers,()=>i`<calcite-flow-item closable heading-level=2 .heading=${this.messages.domainvalues??""} .description=${e.name} @calciteFlowItemClose=${this._emitClose}><calcite-list label=domains>${a(o.codedValues,l=>l.code,l=>i`<calcite-list-item @click=${this._handleSelectDomain} .label=${l.name} .description=${String(l.code)} .value=${String(l.code)}></calcite-list-item>`)}</calcite-list></calcite-flow-item>`])}}></calcite-action>`||""}</calcite-list-item>`)}</calcite-list></calcite-flow-item>${this._flowItemRenderers.map(e=>e())}</calcite-flow>`}};d("arcgis-sql-expression-fields",c);return c},b,c)
@@ -1,4 +1,4 @@
1
1
  /*! All material copyright Esri, All Rights Reserved, unless otherwise specified.
2
2
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
3
- v5.0.0-next.116 */
4
- import{a as N}from"./7JJPXZKZ.js";import a from"./PCXGFTQ5.js";import{a as f}from"./E3ACBLRP.js";import{a as h}from"./V7NFXJT4.js";import{a as E,d as l}from"./EFBFASZ2.js";import{Kl as w,Rc as M,Wl as u,lk as b}from"./BKDPALF4.js";export default $arcgis.t(([g])=>{b();M();var _=new E,p=class{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,_=new E),this._client=null}static async waitForWorker(){return await _.promise}async _getClientProxy(){let e=await h();if(!this._client){let{languageId:t}=this._defaults;this._worker=e.createWebWorker({moduleId:"SqlExprWorker",label:t,createData:{languageId:t},host:this._defaults.workerHost}),_.resolve(this._worker),this._client=this._worker.getProxy()}return await this._client}async getLanguageServiceWorker(...e){let t=await this._getClientProxy();return await this._worker?.withSyncedResources(e),t}},D=["AND","AS","BOTH","CASE","CAST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DAY","DOY","DOW","ELSE","END","ESCAPE","FALSE","FLOAT","FOR","FROM","HOUR","IN","INT","INTEGER","INTERVAL","LEADING","LIKE","MINUTE","MONTH","POSITION","REAL","SECOND","SMALLINT","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRIM","TRUE","VARCHAR","WEEK","WHEN","WITH","YEAR","ZONE"],O=["AND","BETWEEN","LIKE","NOT","OR","IS","NULL"],x=["CAST","EXTRACT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","ABS","ACOS","ASIN","ATAN","CEILING","COS","FLOOR","LOG","LOG10","MOD","NULLIF","POWER","ROUND","SIGN","SIN","TAN","TRUNCATE","CHAR_LENGTH","COALESCE","CONCAT","LOWER","POSITION","SUBSTRING","TRIM","UPPER"],y={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:"'"}]},W={defaultToken:"",tokenPostfix:".arcgis",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:D,operators:O,builtinFunctions:x,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"}]]}},I=class{constructor(e,t){this._worker=e,this._defaults=t}async provideCompletionItems(e,t){try{let s=await this._worker(e.uri),r=e.getWordUntilPosition(t),n={startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:r.startColumn,endColumn:r.endColumn},c=this._defaults.getApiContextForModel(e.uri);return await s.doComplete(e.uri.toString(),n,t,c)}catch(s){return l("SqlExprCompletionProvider")(s),{suggestions:[]}}}},k=class{constructor(e,t,{defaults:s,diagnosticService:r}){this._languageId=e,this._worker=t,this._disposables=[],this._modelListeners=new Map,this._diagnosticsService=r,this._defaults=s,h().then(n=>{let c=i=>{let o=i.getLanguageId();if(o!==this._languageId)return;let d=f(()=>{this._doValidate(i,o).catch(L=>{throw L})}),A=i.onDidChangeContent(d),R=i.onDidChangeAttached(d);this._modelListeners.set(i.uri.toString(),[A,R]),this._doValidate(i,o).catch(l("SqlExprDiagnosticsAdapter"))},m=i=>{let o=i.uri.toString();n.setModelMarkers(i,this._languageId,[]);let d=this._modelListeners.get(o);if(d){for(;d.length;)d.pop()?.dispose();this._modelListeners.delete(o)}};this._disposables.push(n.onDidCreateModel(c)),this._disposables.push(n.onWillDisposeModel(i=>m(i))),this._disposables.push(n.onDidChangeModelLanguage(i=>{m(i.model),c(i.model)})),this._disposables.push(s.onDidChange(()=>{n.getModels().forEach(i=>{i.getLanguageId()===this._languageId&&(m(i),c(i))})})),this._disposables.push(s.onModelContextDidChange(i=>{n.getModels().forEach(o=>{o.getLanguageId()===this._languageId&&o.uri.toString()===i&&this._doValidate(o,this._languageId).catch(l("SqlExprDiagnosticsAdapter"))})})),this._disposables.push({dispose:()=>{this._modelListeners.forEach(i=>i.forEach(o=>o.dispose())),this._modelListeners.clear()}}),n.getModels().forEach(c)})}async _doValidate(e,t){let s=await h();if(e.isAttachedToEditor())try{let r=await this._worker(e.uri),n=this._defaults.getApiContextForModel(e.uri),c=await r.doValidation(e.uri.toString(),n);this._diagnosticsService.fireDiagnosticsChange(e.uri,c),s.setModelMarkers(e,t,c)}catch(r){l("SqlExprDiagnosticsAdapter")(r)}}},C;async function z(...a){return await p.waitForWorker(),await new Promise((e,t)=>{if(!C){t(new Error("sql expression worker not registered!"));return}e(C(...a))})}var T=class{constructor(){this._onDiagnosticsChange=new w}get onDiagnosticsChange(){return this._onDiagnosticsChange.event}fireDiagnosticsChange(e,t){this._onDiagnosticsChange.fire({uri:e,diagnostics:t})}},S=new T;async function j(){return await N(),S}function J(a){let e=new p(a),t=async(...r)=>await e.getLanguageServiceWorker(...r);C=t,u.setMonarchTokensProvider(g.languageId,W),u.setLanguageConfiguration(g.languageId,y);let s=new I(t,g);u.registerCompletionItemProvider(g.languageId,s),new k(a.languageId,t,{defaults:a,diagnosticService:S})}return{a:z,b:j,c:J}},a)
3
+ v5.0.0-next.117 */
4
+ import{a as N}from"./MQAA4Q34.js";import a from"./VK2XJTFA.js";import{a as f}from"./L5CKYMQ2.js";import{a as h}from"./DXNW6D6I.js";import{a as E,d as l}from"./MLRL5MY5.js";import{Kl as w,Rc as M,Wl as u,lk as b}from"./R25AOVQI.js";export default $arcgis.t(([g])=>{b();M();var _=new E,p=class{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,_=new E),this._client=null}static async waitForWorker(){return await _.promise}async _getClientProxy(){let e=await h();if(!this._client){let{languageId:t}=this._defaults;this._worker=e.createWebWorker({moduleId:"SqlExprWorker",label:t,createData:{languageId:t},host:this._defaults.workerHost}),_.resolve(this._worker),this._client=this._worker.getProxy()}return await this._client}async getLanguageServiceWorker(...e){let t=await this._getClientProxy();return await this._worker?.withSyncedResources(e),t}},D=["AND","AS","BOTH","CASE","CAST","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","DATE","DAY","DOY","DOW","ELSE","END","ESCAPE","FALSE","FLOAT","FOR","FROM","HOUR","IN","INT","INTEGER","INTERVAL","LEADING","LIKE","MINUTE","MONTH","POSITION","REAL","SECOND","SMALLINT","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRIM","TRUE","VARCHAR","WEEK","WHEN","WITH","YEAR","ZONE"],O=["AND","BETWEEN","LIKE","NOT","OR","IS","NULL"],x=["CAST","EXTRACT","CURRENT_DATE","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","ABS","ACOS","ASIN","ATAN","CEILING","COS","FLOOR","LOG","LOG10","MOD","NULLIF","POWER","ROUND","SIGN","SIN","TAN","TRUNCATE","CHAR_LENGTH","COALESCE","CONCAT","LOWER","POSITION","SUBSTRING","TRIM","UPPER"],y={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:"'"}]},W={defaultToken:"",tokenPostfix:".arcgis",ignoreCase:!0,brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:D,operators:O,builtinFunctions:x,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"}]]}},I=class{constructor(e,t){this._worker=e,this._defaults=t}async provideCompletionItems(e,t){try{let s=await this._worker(e.uri),r=e.getWordUntilPosition(t),n={startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:r.startColumn,endColumn:r.endColumn},c=this._defaults.getApiContextForModel(e.uri);return await s.doComplete(e.uri.toString(),n,t,c)}catch(s){return l("SqlExprCompletionProvider")(s),{suggestions:[]}}}},k=class{constructor(e,t,{defaults:s,diagnosticService:r}){this._languageId=e,this._worker=t,this._disposables=[],this._modelListeners=new Map,this._diagnosticsService=r,this._defaults=s,h().then(n=>{let c=i=>{let o=i.getLanguageId();if(o!==this._languageId)return;let d=f(()=>{this._doValidate(i,o).catch(L=>{throw L})}),A=i.onDidChangeContent(d),R=i.onDidChangeAttached(d);this._modelListeners.set(i.uri.toString(),[A,R]),this._doValidate(i,o).catch(l("SqlExprDiagnosticsAdapter"))},m=i=>{let o=i.uri.toString();n.setModelMarkers(i,this._languageId,[]);let d=this._modelListeners.get(o);if(d){for(;d.length;)d.pop()?.dispose();this._modelListeners.delete(o)}};this._disposables.push(n.onDidCreateModel(c)),this._disposables.push(n.onWillDisposeModel(i=>m(i))),this._disposables.push(n.onDidChangeModelLanguage(i=>{m(i.model),c(i.model)})),this._disposables.push(s.onDidChange(()=>{n.getModels().forEach(i=>{i.getLanguageId()===this._languageId&&(m(i),c(i))})})),this._disposables.push(s.onModelContextDidChange(i=>{n.getModels().forEach(o=>{o.getLanguageId()===this._languageId&&o.uri.toString()===i&&this._doValidate(o,this._languageId).catch(l("SqlExprDiagnosticsAdapter"))})})),this._disposables.push({dispose:()=>{this._modelListeners.forEach(i=>i.forEach(o=>o.dispose())),this._modelListeners.clear()}}),n.getModels().forEach(c)})}async _doValidate(e,t){let s=await h();if(e.isAttachedToEditor())try{let r=await this._worker(e.uri),n=this._defaults.getApiContextForModel(e.uri),c=await r.doValidation(e.uri.toString(),n);this._diagnosticsService.fireDiagnosticsChange(e.uri,c),s.setModelMarkers(e,t,c)}catch(r){l("SqlExprDiagnosticsAdapter")(r)}}},C;async function z(...a){return await p.waitForWorker(),await new Promise((e,t)=>{if(!C){t(new Error("sql expression worker not registered!"));return}e(C(...a))})}var T=class{constructor(){this._onDiagnosticsChange=new w}get onDiagnosticsChange(){return this._onDiagnosticsChange.event}fireDiagnosticsChange(e,t){this._onDiagnosticsChange.fire({uri:e,diagnostics:t})}},S=new T;async function j(){return await N(),S}function J(a){let e=new p(a),t=async(...r)=>await e.getLanguageServiceWorker(...r);C=t,u.setMonarchTokensProvider(g.languageId,W),u.setLanguageConfiguration(g.languageId,y);let s=new I(t,g);u.registerCompletionItemProvider(g.languageId,s),new k(a.languageId,t,{defaults:a,diagnosticService:S})}return{a:z,b:j,c:J}},a)