@arcgis/coding-components 4.29.0-beta.83 → 4.29.0-beta.87

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 (35) hide show
  1. package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +1 -1
  2. package/dist/arcgis-coding-components/index.esm.js +1 -1
  3. package/dist/arcgis-coding-components/{p-01d3802f.entry.js → p-26220e7c.entry.js} +1 -1
  4. package/dist/arcgis-coding-components/{p-7c5f00c2.js → p-3805737d.js} +1 -1
  5. package/dist/arcgis-coding-components/{p-6217d9dc.js → p-4e045b71.js} +1 -1
  6. package/dist/arcgis-coding-components/{p-9594c6a2.js → p-7d0446b7.js} +1 -1
  7. package/dist/arcgis-coding-components/{p-1d3f421c.js → p-9948e974.js} +1 -1
  8. package/dist/arcgis-coding-components/{p-dc9e6210.js → p-a55b2bdb.js} +1 -1
  9. package/dist/arcgis-coding-components/{p-b8eb837f.js → p-c6fe6292.js} +1 -1
  10. package/dist/arcgis-coding-components/{p-a303451c.js → p-d71ee7d2.js} +1 -1
  11. package/dist/arcgis-coding-components/{p-36ba7917.js → p-d9ec0047.js} +1 -1
  12. package/dist/arcgis-coding-components/{p-2b604eec.js → p-dd581533.js} +7 -7
  13. package/dist/cjs/{arcade-defaults-264d7eec.js → arcade-defaults-fee084bd.js} +7 -7
  14. package/dist/cjs/{arcade-mode-3b7f5bb9.js → arcade-mode-ed4d78ef.js} +1 -1
  15. package/dist/cjs/arcgis-arcade-api_6.cjs.entry.js +2 -2
  16. package/dist/cjs/{cssMode-346fb07e.js → cssMode-cb971778.js} +1 -1
  17. package/dist/cjs/{html-f1a675b7.js → html-dca8feef.js} +1 -1
  18. package/dist/cjs/{htmlMode-cffea715.js → htmlMode-77dedc8a.js} +1 -1
  19. package/dist/cjs/index.cjs.js +1 -1
  20. package/dist/cjs/{javascript-4641c7e5.js → javascript-2a1b9e40.js} +2 -2
  21. package/dist/cjs/{jsonMode-510badaa.js → jsonMode-8605bff0.js} +1 -1
  22. package/dist/cjs/{tsMode-28e50146.js → tsMode-20cd47cf.js} +1 -1
  23. package/dist/cjs/{typescript-ac223483.js → typescript-dc19566c.js} +1 -1
  24. package/dist/esm/{arcade-defaults-f0668978.js → arcade-defaults-95c55c4f.js} +7 -7
  25. package/dist/esm/{arcade-mode-1d252c9e.js → arcade-mode-ef0d116c.js} +1 -1
  26. package/dist/esm/arcgis-arcade-api_6.entry.js +2 -2
  27. package/dist/esm/{cssMode-4ca16df1.js → cssMode-76fecc81.js} +1 -1
  28. package/dist/esm/{html-f266c184.js → html-2e721316.js} +1 -1
  29. package/dist/esm/{htmlMode-8e91c8bd.js → htmlMode-47914b29.js} +1 -1
  30. package/dist/esm/index.js +1 -1
  31. package/dist/esm/{javascript-72c3d3da.js → javascript-35d95795.js} +2 -2
  32. package/dist/esm/{jsonMode-c8443d0f.js → jsonMode-cb730a27.js} +1 -1
  33. package/dist/esm/{tsMode-a540c3d2.js → tsMode-3f196357.js} +1 -1
  34. package/dist/esm/{typescript-9bd09708.js → typescript-d0fbeecc.js} +1 -1
  35. package/package.json +8 -8
@@ -1,4 +1,4 @@
1
- import{o as t}from"./p-2b604eec.js";import"./p-ccafed7f.js";
1
+ import{o as t}from"./p-dd581533.js";import"./p-ccafed7f.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)
@@ -1,4 +1,4 @@
1
- import{o as e}from"./p-2b604eec.js";import"./p-ccafed7f.js";
1
+ import{o as e}from"./p-dd581533.js";import"./p-ccafed7f.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)
@@ -1,4 +1,4 @@
1
- import{o as e}from"./p-2b604eec.js";import"./p-ccafed7f.js";
1
+ import{o as e}from"./p-dd581533.js";import"./p-ccafed7f.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)
@@ -1,4 +1,4 @@
1
- import{conf as e,language as t}from"./p-9594c6a2.js";import"./p-2b604eec.js";import"./p-ccafed7f.js";
1
+ import{conf as e,language as t}from"./p-7d0446b7.js";import"./p-dd581533.js";import"./p-ccafed7f.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)
@@ -1,4 +1,4 @@
1
- import{o as t}from"./p-2b604eec.js";import"./p-ccafed7f.js";
1
+ import{o as t}from"./p-dd581533.js";import"./p-ccafed7f.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)
@@ -1,4 +1,4 @@
1
- import{p as t,o as e}from"./p-2b604eec.js";import"./p-ccafed7f.js";
1
+ import{p as t,o as e}from"./p-dd581533.js";import"./p-ccafed7f.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)
@@ -1,4 +1,4 @@
1
- import{o as t}from"./p-2b604eec.js";import"./p-ccafed7f.js";
1
+ import{o as t}from"./p-dd581533.js";import"./p-ccafed7f.js";
2
2
  /*!-----------------------------------------------------------------------------
3
3
  * Copyright (c) Microsoft Corporation. All rights reserved.
4
4
  * Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)
@@ -1 +1 @@
1
- import{r as e,e as t,M as s,R as n,l as r,E as i}from"./p-2b604eec.js";import"./p-ccafed7f.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 a=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.CompletionItemKind.Constant}))),a.map((t=>({label:t,kind:e.CompletionItemKind.Keyword})));const c={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}},u={defaultToken:"invalid",tokenPostfix:".arc",ignoreCase:!0,keywords:a.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 l{constructor(e,s,{defaults:n,diagnosticsService:r}){this._languageId=e,this._worker=s,this._disposables=[],this._listener=Object.create(null),this._diagnosticsService=r,this._defaults=n;const i=e=>{const t=e.getLanguageId();if(t!==this._languageId)return;let s;this._listener[e.uri.toString()]=e.onDidChangeContent((()=>{window.clearTimeout(s),s=window.setTimeout((async()=>await this._doValidate(e,t)),500)})),this._doValidate(e,t)},o=e=>{const s=e.uri.toString();t.setModelMarkers(e,this._languageId,[]);const n=this._listener[s];n&&(n.dispose(),delete this._listener[s])};this._disposables.push(t.onDidCreateModel(i)),this._disposables.push(t.onWillDisposeModel((e=>{o(e)}))),this._disposables.push(t.onDidChangeModelLanguage((e=>{o(e.model),i(e.model)}))),this._disposables.push(n.onDidChange((()=>{t.getModels().forEach((e=>{e.getLanguageId()===this._languageId&&(o(e),i(e))}))}))),this._disposables.push(n.onModelContextDidChange((e=>{t.getModels().forEach((t=>{t.getLanguageId()===this._languageId&&t.uri.toString()===e&&this._doValidate(t,this._languageId)}))}))),this._disposables.push({dispose:()=>{for(const e of Object.keys(this._listener))this._listener[e].dispose()}}),t.getModels().forEach(i)}dispose(){this._disposables.forEach((e=>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),o=i.map((e=>{return{severity:g((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,o)}catch(e){console.error(e)}}}function g(t){switch(t){case e.DiagnosticSeverity.Error:return s.Error;case e.DiagnosticSeverity.Warning:return s.Warning;case e.DiagnosticSeverity.Information:return s.Info;case e.DiagnosticSeverity.Hint:return s.Hint;default:return s.Info}}function p(e){return new n(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function d(e){return{range:p(e.range),text:e.newText}}function h(t){const s=r.CompletionItemKind;switch(t){case e.CompletionItemKind.Text:return s.Text;case e.CompletionItemKind.Method:return s.Method;case e.CompletionItemKind.Function:return s.Function;case e.CompletionItemKind.Constructor:return s.Constructor;case e.CompletionItemKind.Field:return s.Field;case e.CompletionItemKind.Variable:return s.Variable;case e.CompletionItemKind.Class:return s.Class;case e.CompletionItemKind.Interface:return s.Interface;case e.CompletionItemKind.Module:return s.Module;case e.CompletionItemKind.Property:return s.Property;case e.CompletionItemKind.Unit:return s.Unit;case e.CompletionItemKind.Value:return s.Value;case e.CompletionItemKind.Enum:return s.Enum;case e.CompletionItemKind.Keyword:return s.Keyword;case e.CompletionItemKind.Snippet:return s.Snippet;case e.CompletionItemKind.Color:return s.Color;case e.CompletionItemKind.File:return s.File;case e.CompletionItemKind.Reference:return s.Reference;case e.CompletionItemKind.Folder:return s.Folder;case e.CompletionItemKind.EnumMember:return s.EnumMember;case e.CompletionItemKind.Constant:return s.Constant;case e.CompletionItemKind.Struct:return s.Struct;case e.CompletionItemKind.Event:return s.Event;case e.CompletionItemKind.Operator:return s.Operator;case e.CompletionItemKind.TypeParameter:return s.TypeParameter}return s.Property}class m{constructor(e,t){this._worker=e,this._defaults=t,this.triggerCharacters=[".","("]}async provideCompletionItems(t,s){const i=await this._worker(t.uri),o=this._defaults.getApiContextForModel(t.uri),a=await i.doComplete(t.uri.toString(),function(e){return{character:e.column-1,line:e.lineNumber-1}}(s),o);if(!a)return;const c=t.getWordUntilPosition(s),u=new n(s.lineNumber,c.startColumn,s.lineNumber,c.endColumn),l=a.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:h(t.kind)};var n;return t.textEdit&&(s.range=void 0!==(n=t.textEdit).insert&&void 0!==n.replace?{insert:p(t.textEdit.insert),replace:p(t.textEdit.replace)}:p(t.textEdit.range),s.insertText=t.textEdit.newText),t.additionalTextEdits&&(s.additionalTextEdits=t.additionalTextEdits.map(d)),t.insertTextFormat===e.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:a.isIncomplete,suggestions:l}}}class x{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()),n=await t.doFormat(e.uri.toString(),s);return n?n.map((e=>({range:p(e.range),text:e.newText}))):[]}}class f{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 k(...e){return await new Promise(((t,s)=>{if(!b)return s(new Error("TypeScript not registered!"));t(b(...e))}))}const w=new class{constructor(){this._onDiagnosticsChange=new i}get onDiagnosticsChange(){return this._onDiagnosticsChange.event}fireDiagnosticsChange(e,t){this._onDiagnosticsChange.fire({uri:e,diagnostics:t})}};function y(){return w}function v(e){const t=new f(e),s=async(...e)=>await t.getLanguageServiceWorker(...e);b=s,r.setMonarchTokensProvider(e.languageId,u),r.setLanguageConfiguration(e.languageId,c),r.registerCompletionItemProvider(e.languageId,new m(s,e)),r.registerDocumentFormattingEditProvider(e.languageId,new x(s,e)),new l(e.languageId,s,{defaults:e,diagnosticsService:w})}export{y as getArcadeDiagnosticService,k as getArcadeWorker,v as setupMode}
1
+ import{r as e,e as t,M as s,R as n,l as r,E as i}from"./p-dd581533.js";import"./p-ccafed7f.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 a=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.CompletionItemKind.Constant}))),a.map((t=>({label:t,kind:e.CompletionItemKind.Keyword})));const c={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}},u={defaultToken:"invalid",tokenPostfix:".arc",ignoreCase:!0,keywords:a.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 l{constructor(e,s,{defaults:n,diagnosticsService:r}){this._languageId=e,this._worker=s,this._disposables=[],this._listener=Object.create(null),this._diagnosticsService=r,this._defaults=n;const i=e=>{const t=e.getLanguageId();if(t!==this._languageId)return;let s;this._listener[e.uri.toString()]=e.onDidChangeContent((()=>{window.clearTimeout(s),s=window.setTimeout((async()=>await this._doValidate(e,t)),500)})),this._doValidate(e,t)},o=e=>{const s=e.uri.toString();t.setModelMarkers(e,this._languageId,[]);const n=this._listener[s];n&&(n.dispose(),delete this._listener[s])};this._disposables.push(t.onDidCreateModel(i)),this._disposables.push(t.onWillDisposeModel((e=>{o(e)}))),this._disposables.push(t.onDidChangeModelLanguage((e=>{o(e.model),i(e.model)}))),this._disposables.push(n.onDidChange((()=>{t.getModels().forEach((e=>{e.getLanguageId()===this._languageId&&(o(e),i(e))}))}))),this._disposables.push(n.onModelContextDidChange((e=>{t.getModels().forEach((t=>{t.getLanguageId()===this._languageId&&t.uri.toString()===e&&this._doValidate(t,this._languageId)}))}))),this._disposables.push({dispose:()=>{for(const e of Object.keys(this._listener))this._listener[e].dispose()}}),t.getModels().forEach(i)}dispose(){this._disposables.forEach((e=>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),o=i.map((e=>{return{severity:g((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,o)}catch(e){console.error(e)}}}function g(t){switch(t){case e.DiagnosticSeverity.Error:return s.Error;case e.DiagnosticSeverity.Warning:return s.Warning;case e.DiagnosticSeverity.Information:return s.Info;case e.DiagnosticSeverity.Hint:return s.Hint;default:return s.Info}}function p(e){return new n(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function d(e){return{range:p(e.range),text:e.newText}}function h(t){const s=r.CompletionItemKind;switch(t){case e.CompletionItemKind.Text:return s.Text;case e.CompletionItemKind.Method:return s.Method;case e.CompletionItemKind.Function:return s.Function;case e.CompletionItemKind.Constructor:return s.Constructor;case e.CompletionItemKind.Field:return s.Field;case e.CompletionItemKind.Variable:return s.Variable;case e.CompletionItemKind.Class:return s.Class;case e.CompletionItemKind.Interface:return s.Interface;case e.CompletionItemKind.Module:return s.Module;case e.CompletionItemKind.Property:return s.Property;case e.CompletionItemKind.Unit:return s.Unit;case e.CompletionItemKind.Value:return s.Value;case e.CompletionItemKind.Enum:return s.Enum;case e.CompletionItemKind.Keyword:return s.Keyword;case e.CompletionItemKind.Snippet:return s.Snippet;case e.CompletionItemKind.Color:return s.Color;case e.CompletionItemKind.File:return s.File;case e.CompletionItemKind.Reference:return s.Reference;case e.CompletionItemKind.Folder:return s.Folder;case e.CompletionItemKind.EnumMember:return s.EnumMember;case e.CompletionItemKind.Constant:return s.Constant;case e.CompletionItemKind.Struct:return s.Struct;case e.CompletionItemKind.Event:return s.Event;case e.CompletionItemKind.Operator:return s.Operator;case e.CompletionItemKind.TypeParameter:return s.TypeParameter}return s.Property}class m{constructor(e,t){this._worker=e,this._defaults=t,this.triggerCharacters=[".","("]}async provideCompletionItems(t,s){const i=await this._worker(t.uri),o=this._defaults.getApiContextForModel(t.uri),a=await i.doComplete(t.uri.toString(),function(e){return{character:e.column-1,line:e.lineNumber-1}}(s),o);if(!a)return;const c=t.getWordUntilPosition(s),u=new n(s.lineNumber,c.startColumn,s.lineNumber,c.endColumn),l=a.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:h(t.kind)};var n;return t.textEdit&&(s.range=void 0!==(n=t.textEdit).insert&&void 0!==n.replace?{insert:p(t.textEdit.insert),replace:p(t.textEdit.replace)}:p(t.textEdit.range),s.insertText=t.textEdit.newText),t.additionalTextEdits&&(s.additionalTextEdits=t.additionalTextEdits.map(d)),t.insertTextFormat===e.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:a.isIncomplete,suggestions:l}}}class x{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()),n=await t.doFormat(e.uri.toString(),s);return n?n.map((e=>({range:p(e.range),text:e.newText}))):[]}}class f{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 k(...e){return await new Promise(((t,s)=>{if(!b)return s(new Error("TypeScript not registered!"));t(b(...e))}))}const w=new class{constructor(){this._onDiagnosticsChange=new i}get onDiagnosticsChange(){return this._onDiagnosticsChange.event}fireDiagnosticsChange(e,t){this._onDiagnosticsChange.fire({uri:e,diagnostics:t})}};function y(){return w}function v(e){const t=new f(e),s=async(...e)=>await t.getLanguageServiceWorker(...e);b=s,r.setMonarchTokensProvider(e.languageId,u),r.setLanguageConfiguration(e.languageId,c),r.registerCompletionItemProvider(e.languageId,new m(s,e)),r.registerDocumentFormattingEditProvider(e.languageId,new x(s,e)),new l(e.languageId,s,{defaults:e,diagnosticsService:w})}export{y as getArcadeDiagnosticService,k as getArcadeWorker,v as setupMode}