@arcgis/coding-components 4.30.0-next.99 → 4.31.0-next.2
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.
- package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +3 -3
- package/dist/arcgis-coding-components/assets/code-editor/arcade.worker.js +13 -13
- package/dist/arcgis-coding-components/index.esm.js +3 -3
- package/dist/arcgis-coding-components/{p-6b70d00e.js → p-03ea6cd7.js} +4 -4
- package/dist/arcgis-coding-components/{p-b27225fb.js → p-0c6de9b3.js} +3 -3
- package/dist/arcgis-coding-components/{p-df22caf3.js → p-36fedc23.js} +11 -11
- package/dist/arcgis-coding-components/p-5ef7cce5.js +6 -0
- package/dist/arcgis-coding-components/{p-804fc70c.js → p-60c2a820.js} +3 -3
- package/dist/arcgis-coding-components/{p-09fc6deb.js → p-62ee6251.js} +2 -2
- package/dist/arcgis-coding-components/{p-88c8c547.js → p-7984ea8e.js} +3 -3
- package/dist/arcgis-coding-components/p-81c37dab.entry.js +6 -0
- package/dist/arcgis-coding-components/{p-8e5106fd.js → p-93a97573.js} +4 -4
- package/dist/arcgis-coding-components/{p-71030413.js → p-9eced6fc.js} +3 -3
- package/dist/arcgis-coding-components/{p-c5b5ad43.js → p-bb7e832e.js} +4 -4
- package/dist/arcgis-coding-components/{p-0f86fcd3.js → p-e7ee4d64.js} +4 -4
- package/dist/arcgis-coding-components/{p-8f59b7ab.js → p-e8211ffe.js} +2 -2
- package/dist/cjs/{app-globals-4f0e7eae.js → app-globals-aee5f4b5.js} +2 -2
- package/dist/cjs/{arcade-defaults-57559f4d.js → arcade-defaults-a8d8f8e2.js} +130 -69
- package/dist/cjs/{arcade-mode-5e9d9501.js → arcade-mode-b85ae7d4.js} +6 -6
- package/dist/cjs/{arcgis-arcade-api_6.cjs.entry.js → arcgis-arcade-editor_6.cjs.entry.js} +5090 -5124
- package/dist/cjs/arcgis-coding-components.cjs.js +5 -5
- package/dist/cjs/{css-3b5f7de7.js → css-7cc05f76.js} +2 -2
- package/dist/cjs/{cssMode-ee50e646.js → cssMode-2b0daeae.js} +4 -4
- package/dist/cjs/{html-1414ae85.js → html-f56911e1.js} +4 -4
- package/dist/cjs/{htmlMode-c04fe1a3.js → htmlMode-43eed674.js} +4 -4
- package/dist/cjs/{index-aa7289d7.js → index-b34238a6.js} +4 -4
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/{javascript-f871d3e1.js → javascript-5115cb76.js} +5 -5
- package/dist/cjs/{jsonMode-d0bba5f8.js → jsonMode-550dda36.js} +4 -4
- package/dist/cjs/loader.cjs.js +5 -5
- package/dist/cjs/{tsMode-2cee8df6.js → tsMode-336306a9.js} +4 -4
- package/dist/cjs/{typescript-e699bcbb.js → typescript-b395242f.js} +4 -4
- package/dist/components/arcade-defaults.js +107 -48
- package/dist/components/arcade-mode.js +4 -4
- package/dist/components/arcade-results.js +5 -5
- package/dist/components/arcade-suggestions.js +6 -6
- package/dist/components/arcade-variables.js +3 -3
- package/dist/components/arcgis-arcade-editor.js +18 -19
- package/dist/components/arcgis-arcade-results.js +2 -2
- package/dist/components/arcgis-arcade-suggestions.js +2 -2
- package/dist/components/arcgis-arcade-variables.js +2 -2
- package/dist/components/arcgis-assets.d.ts +2 -2
- package/dist/components/arcgis-assets.js +2 -2
- package/dist/components/arcgis-code-editor.js +2 -2
- package/dist/components/arcgis-language-api-panel.d.ts +11 -0
- package/dist/components/arcgis-language-api-panel.js +11 -0
- package/dist/components/chunk-IHYYRFLQ.js +3 -3
- package/dist/components/code-editor.js +144 -7
- package/dist/components/fields.js +2 -2
- package/dist/components/index.js +2 -2
- package/dist/components/index2.js +3 -3
- package/dist/components/{arcade-api.js → language-api-panel.js} +27 -29
- package/dist/components/markdown.js +3 -3
- package/dist/components/useT9n.js +3 -3
- package/dist/components/utilities.js +2 -2
- package/dist/esm/{app-globals-1f81b3b1.js → app-globals-59faaf33.js} +2 -2
- package/dist/esm/{arcade-defaults-73fede8d.js → arcade-defaults-9eb28407.js} +129 -70
- package/dist/esm/{arcade-mode-3719f850.js → arcade-mode-5d46035e.js} +6 -6
- package/dist/esm/{arcgis-arcade-api_6.entry.js → arcgis-arcade-editor_6.entry.js} +5087 -5121
- package/dist/esm/arcgis-coding-components.js +6 -6
- package/dist/esm/{css-a2a21514.js → css-e257dc49.js} +2 -2
- package/dist/esm/{cssMode-a8d4806a.js → cssMode-c11f7f40.js} +4 -4
- package/dist/esm/{html-7e9fbd0f.js → html-a6c37a99.js} +4 -4
- package/dist/esm/{htmlMode-f2cf3793.js → htmlMode-1270bc7d.js} +4 -4
- package/dist/esm/{index-3f3310e0.js → index-a970952c.js} +4 -4
- package/dist/esm/index.js +4 -4
- package/dist/esm/{javascript-a6285ee9.js → javascript-ee179624.js} +5 -5
- package/dist/esm/{jsonMode-f88952f9.js → jsonMode-07502ccb.js} +4 -4
- package/dist/esm/loader.js +6 -6
- package/dist/esm/{tsMode-764b2d3b.js → tsMode-96749a12.js} +4 -4
- package/dist/esm/{typescript-7eaebbd1.js → typescript-a3cf9881.js} +4 -4
- package/dist/loader/cdn.js +2 -2
- package/dist/loader/index.cjs.js +2 -2
- package/dist/loader/index.es2017.js +2 -2
- package/dist/loader/index.js +2 -2
- package/dist/types/components/{arcade-api/arcade-api.d.ts → language-api-panel/language-api-panel.d.ts} +5 -3
- package/dist/types/components/{arcade-api → language-api-panel}/t9n-types.d.ts +1 -1
- package/dist/types/components.d.ts +57 -53
- package/dist/types/dependencies.d.ts +25 -0
- package/dist/types/utils/arcade-monaco/arcade-contribution.d.ts +1 -24
- package/dist/types/utils/arcade-monaco/arcade-defaults.d.ts +12 -49
- package/dist/types/utils/arcade-monaco/arcade-language-features.d.ts +5 -4
- package/dist/types/utils/arcade-monaco/arcade-mode.d.ts +3 -2
- package/dist/types/utils/arcade-monaco/arcade-service-accessors.d.ts +31 -0
- package/dist/types/utils/arcade-monaco/arcade-worker-manager.d.ts +3 -2
- package/dist/types/utils/arcade-monaco/arcade.worker.d.ts +5 -5
- package/dist/types/utils/arcade-monaco/types.d.ts +6 -35
- package/dist/types/utils/language-defaults-base.d.ts +76 -0
- package/package.json +11 -10
- package/dist/arcgis-coding-components/p-46fac9d8.js +0 -6
- package/dist/arcgis-coding-components/p-f7fcef66.entry.js +0 -6
- package/dist/components/arcade-contribution.js +0 -181
- package/dist/components/arcgis-arcade-api.d.ts +0 -11
- package/dist/components/arcgis-arcade-api.js +0 -11
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ar.json → language-api-panel/t9n/language-api-panel.t9n.ar.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.bg.json → language-api-panel/t9n/language-api-panel.t9n.bg.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.bs.json → language-api-panel/t9n/language-api-panel.t9n.bs.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ca.json → language-api-panel/t9n/language-api-panel.t9n.ca.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.cs.json → language-api-panel/t9n/language-api-panel.t9n.cs.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.da.json → language-api-panel/t9n/language-api-panel.t9n.da.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.de.json → language-api-panel/t9n/language-api-panel.t9n.de.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.el.json → language-api-panel/t9n/language-api-panel.t9n.el.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.en.json → language-api-panel/t9n/language-api-panel.t9n.en.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.es.json → language-api-panel/t9n/language-api-panel.t9n.es.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.et.json → language-api-panel/t9n/language-api-panel.t9n.et.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.fi.json → language-api-panel/t9n/language-api-panel.t9n.fi.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.fr.json → language-api-panel/t9n/language-api-panel.t9n.fr.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.he.json → language-api-panel/t9n/language-api-panel.t9n.he.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.hr.json → language-api-panel/t9n/language-api-panel.t9n.hr.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.hu.json → language-api-panel/t9n/language-api-panel.t9n.hu.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.id.json → language-api-panel/t9n/language-api-panel.t9n.id.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.it.json → language-api-panel/t9n/language-api-panel.t9n.it.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ja.json → language-api-panel/t9n/language-api-panel.t9n.ja.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ko.json → language-api-panel/t9n/language-api-panel.t9n.ko.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.lt.json → language-api-panel/t9n/language-api-panel.t9n.lt.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.lv.json → language-api-panel/t9n/language-api-panel.t9n.lv.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.nb.json → language-api-panel/t9n/language-api-panel.t9n.nb.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.nl.json → language-api-panel/t9n/language-api-panel.t9n.nl.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.pl.json → language-api-panel/t9n/language-api-panel.t9n.pl.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.pt-BR.json → language-api-panel/t9n/language-api-panel.t9n.pt-BR.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.pt-PT.json → language-api-panel/t9n/language-api-panel.t9n.pt-PT.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ro.json → language-api-panel/t9n/language-api-panel.t9n.ro.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.ru.json → language-api-panel/t9n/language-api-panel.t9n.ru.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.sk.json → language-api-panel/t9n/language-api-panel.t9n.sk.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.sl.json → language-api-panel/t9n/language-api-panel.t9n.sl.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.sr.json → language-api-panel/t9n/language-api-panel.t9n.sr.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.sv.json → language-api-panel/t9n/language-api-panel.t9n.sv.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.th.json → language-api-panel/t9n/language-api-panel.t9n.th.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.tr.json → language-api-panel/t9n/language-api-panel.t9n.tr.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.uk.json → language-api-panel/t9n/language-api-panel.t9n.uk.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.vi.json → language-api-panel/t9n/language-api-panel.t9n.vi.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.zh-CN.json → language-api-panel/t9n/language-api-panel.t9n.zh-CN.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.zh-HK.json → language-api-panel/t9n/language-api-panel.t9n.zh-HK.json} +0 -0
- /package/dist/arcgis-coding-components/assets/{arcade-api/t9n/arcade-api.t9n.zh-TW.json → language-api-panel/t9n/language-api-panel.t9n.zh-TW.json} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
|
-
* See https://js.arcgis.com/4.
|
|
4
|
-
* v4.
|
|
3
|
+
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
+
* v4.31.0-next.2
|
|
5
5
|
*/
|
|
6
|
-
export{a as arcade}from"./p-
|
|
6
|
+
export{a as arcade}from"./p-36fedc23.js";import"./p-e8211ffe.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
|
-
* See https://js.arcgis.com/4.
|
|
4
|
-
* v4.
|
|
3
|
+
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
+
* v4.31.0-next.2
|
|
5
5
|
*/
|
|
6
|
-
import{
|
|
6
|
+
import{F as t,E as e}from"./p-36fedc23.js";import"./p-e8211ffe.js";
|
|
7
7
|
/*!-----------------------------------------------------------------------------
|
|
8
8
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
9
|
* Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)
|
|
10
10
|
* Released under the MIT license
|
|
11
11
|
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
|
12
|
-
*-----------------------------------------------------------------------------*/var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,a=(t,e,a,o)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let c of i(e))s.call(t,c)||c===a||n(t,c,{get:()=>e[c],enumerable:!(o=r(e,c))||o.enumerable});return t},o=(t,e,r)=>(((t,e,r)=>{e in t?n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r})(t,"symbol"!=typeof e?e+"":e,r),r),c={};a(c,e,"default");var u=class{constructor(t,e){this._modeId=t,this._defaults=e,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker())),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange((()=>this._updateExtraLibs()))}_configChangeListener;_updateExtraLibsToken;_extraLibsChangeListener;_worker;_client;dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;const t=++this._updateExtraLibsToken,e=await this._worker.getProxy();this._updateExtraLibsToken===t&&e.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||(this._client=(async()=>(this._worker=c.editor.createWebWorker({moduleId:"vs/language/typescript/tsWorker",label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(c.editor.getModels().filter((t=>t.getLanguageId()===this._modeId)).map((t=>t.uri))):await this._worker.getProxy()))()),this._client}async getLanguageServiceWorker(...t){const e=await this._getClient();return this._worker&&await this._worker.withSyncedResources(t),e}},l={};function h(t,e,n=0){if("string"==typeof t)return t;if(void 0===t)return"";let r="";if(n){r+=e;for(let t=0;t<n;t++)r+=" "}if(r+=t.messageText,n++,t.next)for(const i of t.next)r+=h(i,e,n);return r}function d(t){return t?t.map((t=>t.text)).join(""):""}l["lib.d.ts"]=!0,l["lib.decorators.d.ts"]=!0,l["lib.decorators.legacy.d.ts"]=!0,l["lib.dom.d.ts"]=!0,l["lib.dom.iterable.d.ts"]=!0,l["lib.es2015.collection.d.ts"]=!0,l["lib.es2015.core.d.ts"]=!0,l["lib.es2015.d.ts"]=!0,l["lib.es2015.generator.d.ts"]=!0,l["lib.es2015.iterable.d.ts"]=!0,l["lib.es2015.promise.d.ts"]=!0,l["lib.es2015.proxy.d.ts"]=!0,l["lib.es2015.reflect.d.ts"]=!0,l["lib.es2015.symbol.d.ts"]=!0,l["lib.es2015.symbol.wellknown.d.ts"]=!0,l["lib.es2016.array.include.d.ts"]=!0,l["lib.es2016.d.ts"]=!0,l["lib.es2016.full.d.ts"]=!0,l["lib.es2017.d.ts"]=!0,l["lib.es2017.full.d.ts"]=!0,l["lib.es2017.intl.d.ts"]=!0,l["lib.es2017.object.d.ts"]=!0,l["lib.es2017.sharedmemory.d.ts"]=!0,l["lib.es2017.string.d.ts"]=!0,l["lib.es2017.typedarrays.d.ts"]=!0,l["lib.es2018.asyncgenerator.d.ts"]=!0,l["lib.es2018.asynciterable.d.ts"]=!0,l["lib.es2018.d.ts"]=!0,l["lib.es2018.full.d.ts"]=!0,l["lib.es2018.intl.d.ts"]=!0,l["lib.es2018.promise.d.ts"]=!0,l["lib.es2018.regexp.d.ts"]=!0,l["lib.es2019.array.d.ts"]=!0,l["lib.es2019.d.ts"]=!0,l["lib.es2019.full.d.ts"]=!0,l["lib.es2019.intl.d.ts"]=!0,l["lib.es2019.object.d.ts"]=!0,l["lib.es2019.string.d.ts"]=!0,l["lib.es2019.symbol.d.ts"]=!0,l["lib.es2020.bigint.d.ts"]=!0,l["lib.es2020.d.ts"]=!0,l["lib.es2020.date.d.ts"]=!0,l["lib.es2020.full.d.ts"]=!0,l["lib.es2020.intl.d.ts"]=!0,l["lib.es2020.number.d.ts"]=!0,l["lib.es2020.promise.d.ts"]=!0,l["lib.es2020.sharedmemory.d.ts"]=!0,l["lib.es2020.string.d.ts"]=!0,l["lib.es2020.symbol.wellknown.d.ts"]=!0,l["lib.es2021.d.ts"]=!0,l["lib.es2021.full.d.ts"]=!0,l["lib.es2021.intl.d.ts"]=!0,l["lib.es2021.promise.d.ts"]=!0,l["lib.es2021.string.d.ts"]=!0,l["lib.es2021.weakref.d.ts"]=!0,l["lib.es2022.array.d.ts"]=!0,l["lib.es2022.d.ts"]=!0,l["lib.es2022.error.d.ts"]=!0,l["lib.es2022.full.d.ts"]=!0,l["lib.es2022.intl.d.ts"]=!0,l["lib.es2022.object.d.ts"]=!0,l["lib.es2022.regexp.d.ts"]=!0,l["lib.es2022.sharedmemory.d.ts"]=!0,l["lib.es2022.string.d.ts"]=!0,l["lib.es2023.array.d.ts"]=!0,l["lib.es2023.d.ts"]=!0,l["lib.es2023.full.d.ts"]=!0,l["lib.es5.d.ts"]=!0,l["lib.es6.d.ts"]=!0,l["lib.esnext.d.ts"]=!0,l["lib.esnext.full.d.ts"]=!0,l["lib.esnext.intl.d.ts"]=!0,l["lib.scripthost.d.ts"]=!0,l["lib.webworker.d.ts"]=!0,l["lib.webworker.importscripts.d.ts"]=!0,l["lib.webworker.iterable.d.ts"]=!0;var f=class{constructor(t){this._worker=t}_textSpanToRange(t,e){let n=t.getPositionAt(e.start),r=t.getPositionAt(e.start+e.length),{lineNumber:i,column:s}=n,{lineNumber:a,column:o}=r;return{startLineNumber:i,startColumn:s,endLineNumber:a,endColumn:o}}},m=class{constructor(t){this._worker=t,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}_libFiles;_hasFetchedLibFiles;_fetchLibFilesPromise;isLibFile(t){return!!t&&0===t.path.indexOf("/lib.")&&!!l[t.path.slice(1)]}getOrCreateModel(e){const n=c.Uri.parse(e),r=c.editor.getModel(n);if(r)return r;if(this.isLibFile(n)&&this._hasFetchedLibFiles)return c.editor.createModel(this._libFiles[n.path.slice(1)],"typescript",n);const i=t.getExtraLibs()[e];return i?c.editor.createModel(i.content,"typescript",n):null}_containsLibFile(t){for(let e of t)if(this.isLibFile(e))return!0;return!1}async fetchLibFilesIfNecessary(t){this._containsLibFile(t)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then((t=>t.getLibFiles())).then((t=>{this._hasFetchedLibFiles=!0,this._libFiles=t}))),this._fetchLibFilesPromise}},p=class extends f{constructor(t,e,n,r){super(r),this._libFiles=t,this._defaults=e,this._selector=n;const i=t=>{if(t.getLanguageId()!==n)return;const e=()=>{const{onlyVisible:e}=this._defaults.getDiagnosticsOptions();e?t.isAttachedToEditor()&&this._doValidate(t):this._doValidate(t)};let r;const i=t.onDidChangeContent((()=>{clearTimeout(r),r=window.setTimeout(e,500)})),s=t.onDidChangeAttached((()=>{const{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(t.isAttachedToEditor()?e():c.editor.setModelMarkers(t,this._selector,[]))}));this._listener[t.uri.toString()]={dispose(){i.dispose(),s.dispose(),clearTimeout(r)}},e()},s=t=>{c.editor.setModelMarkers(t,this._selector,[]);const e=t.uri.toString();this._listener[e]&&(this._listener[e].dispose(),delete this._listener[e])};this._disposables.push(c.editor.onDidCreateModel((t=>i(t)))),this._disposables.push(c.editor.onWillDisposeModel(s)),this._disposables.push(c.editor.onDidChangeModelLanguage((t=>{s(t.model),i(t.model)}))),this._disposables.push({dispose(){for(const t of c.editor.getModels())s(t)}});const a=()=>{for(const t of c.editor.getModels())s(t),i(t)};this._disposables.push(this._defaults.onDidChange(a)),this._disposables.push(this._defaults.onDidExtraLibsChange(a)),c.editor.getModels().forEach((t=>i(t)))}_disposables=[];_listener=Object.create(null);dispose(){this._disposables.forEach((t=>t&&t.dispose())),this._disposables=[]}async _doValidate(t){const e=await this._worker(t.uri);if(t.isDisposed())return;const n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:s}=this._defaults.getDiagnosticsOptions();r||n.push(e.getSyntacticDiagnostics(t.uri.toString())),i||n.push(e.getSemanticDiagnostics(t.uri.toString())),s||n.push(e.getSuggestionDiagnostics(t.uri.toString()));const a=await Promise.all(n);if(!a||t.isDisposed())return;const o=a.reduce(((t,e)=>e.concat(t)),[]).filter((t=>-1===(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(t.code))),u=o.map((t=>t.relatedInformation||[])).reduce(((t,e)=>e.concat(t)),[]).map((t=>t.file?c.Uri.parse(t.file.fileName):null));await this._libFiles.fetchLibFilesIfNecessary(u),t.isDisposed()||c.editor.setModelMarkers(t,this._selector,o.map((e=>this._convertDiagnostics(t,e))))}_convertDiagnostics(t,e){const n=e.start||0,r=e.length||1,{lineNumber:i,column:s}=t.getPositionAt(n),{lineNumber:a,column:o}=t.getPositionAt(n+r),u=[];return e.reportsUnnecessary&&u.push(c.MarkerTag.Unnecessary),e.reportsDeprecated&&u.push(c.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(e.category),startLineNumber:i,startColumn:s,endLineNumber:a,endColumn:o,message:h(e.messageText,"\n"),code:e.code.toString(),tags:u,relatedInformation:this._convertRelatedInformation(t,e.relatedInformation)}}_convertRelatedInformation(t,e){if(!e)return[];const n=[];return e.forEach((e=>{let r=t;if(e.file&&(r=this._libFiles.getOrCreateModel(e.file.fileName)),!r)return;const i=e.start||0,s=e.length||1,{lineNumber:a,column:o}=r.getPositionAt(i),{lineNumber:c,column:u}=r.getPositionAt(i+s);n.push({resource:r.uri,startLineNumber:a,startColumn:o,endLineNumber:c,endColumn:u,message:h(e.messageText,"\n")})})),n}_tsDiagnosticCategoryToMarkerSeverity(t){switch(t){case 1:return c.MarkerSeverity.Error;case 3:return c.MarkerSeverity.Info;case 0:return c.MarkerSeverity.Warning;case 2:return c.MarkerSeverity.Hint}return c.MarkerSeverity.Info}},g=class extends f{get triggerCharacters(){return["."]}async provideCompletionItems(t,e,n,r){const i=t.getWordUntilPosition(e),s=new c.Range(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn),a=t.uri,o=t.getOffsetAt(e),u=await this._worker(a);if(t.isDisposed())return;const l=await u.getCompletionsAtPosition(a.toString(),o);return l&&!t.isDisposed()?{suggestions:l.entries.map((n=>{let r=s;if(n.replacementSpan){const e=t.getPositionAt(n.replacementSpan.start),i=t.getPositionAt(n.replacementSpan.start+n.replacementSpan.length);r=new c.Range(e.lineNumber,e.column,i.lineNumber,i.column)}const i=[];return void 0!==n.kindModifiers&&-1!==n.kindModifiers.indexOf("deprecated")&&i.push(c.languages.CompletionItemTag.Deprecated),{uri:a,position:e,offset:o,range:r,label:n.name,insertText:n.name,sortText:n.sortText,kind:g.convertKind(n.kind),tags:i}}))}:void 0}async resolveCompletionItem(t,e){const n=t,r=n.uri,i=n.position,s=n.offset,a=await this._worker(r),o=await a.getCompletionEntryDetails(r.toString(),s,n.label);return o?{uri:r,position:i,label:o.name,kind:g.convertKind(o.kind),detail:d(o.displayParts),documentation:{value:g.createDocumentationString(o)}}:n}static convertKind(t){switch(t){case k.primitiveType:case k.keyword:return c.languages.CompletionItemKind.Keyword;case k.variable:case k.localVariable:return c.languages.CompletionItemKind.Variable;case k.memberVariable:case k.memberGetAccessor:case k.memberSetAccessor:return c.languages.CompletionItemKind.Field;case k.function:case k.memberFunction:case k.constructSignature:case k.callSignature:case k.indexSignature:return c.languages.CompletionItemKind.Function;case k.enum:return c.languages.CompletionItemKind.Enum;case k.module:return c.languages.CompletionItemKind.Module;case k.class:return c.languages.CompletionItemKind.Class;case k.interface:return c.languages.CompletionItemKind.Interface;case k.warning:return c.languages.CompletionItemKind.File}return c.languages.CompletionItemKind.Property}static createDocumentationString(t){let e=d(t.documentation);if(t.tags)for(const n of t.tags)e+=`\n\n${w(n)}`;return e}};function w(t){let e=`*@${t.name}*`;if("param"===t.name&&t.text){const[n,...r]=t.text;e+=`\`${n.text}\``,r.length>0&&(e+=` — ${r.map((t=>t.text)).join(" ")}`)}else Array.isArray(t.text)?e+=` — ${t.text.map((t=>t.text)).join(" ")}`:t.text&&(e+=` — ${t.text}`);return e}var b=class extends f{signatureHelpTriggerCharacters=["(",","];static _toSignatureHelpTriggerReason(t){switch(t.triggerKind){case c.languages.SignatureHelpTriggerKind.TriggerCharacter:return t.triggerCharacter?t.isRetrigger?{kind:"retrigger",triggerCharacter:t.triggerCharacter}:{kind:"characterTyped",triggerCharacter:t.triggerCharacter}:{kind:"invoked"};case c.languages.SignatureHelpTriggerKind.ContentChange:return t.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};default:return{kind:"invoked"}}}async provideSignatureHelp(t,e,n,r){const i=t.uri,s=t.getOffsetAt(e),a=await this._worker(i);if(t.isDisposed())return;const o=await a.getSignatureHelpItems(i.toString(),s,{triggerReason:b._toSignatureHelpTriggerReason(r)});if(!o||t.isDisposed())return;const c={activeSignature:o.selectedItemIndex,activeParameter:o.argumentIndex,signatures:[]};return o.items.forEach((t=>{const e={label:"",parameters:[]};e.documentation={value:d(t.documentation)},e.label+=d(t.prefixDisplayParts),t.parameters.forEach(((n,r,i)=>{const s=d(n.displayParts),a={label:s,documentation:{value:d(n.documentation)}};e.label+=s,e.parameters.push(a),r<i.length-1&&(e.label+=d(t.separatorDisplayParts))})),e.label+=d(t.suffixDisplayParts),c.signatures.push(e)})),{value:c,dispose(){}}}},v=class extends f{async provideHover(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getQuickInfoAtPosition(r.toString(),i);if(!a||t.isDisposed())return;const o=d(a.documentation),c=a.tags?a.tags.map((t=>w(t))).join(" \n\n"):"",u=d(a.displayParts);return{range:this._textSpanToRange(t,a.textSpan),contents:[{value:"```typescript\n"+u+"\n```\n"},{value:o+(c?"\n\n"+c:"")}]}}},y=class extends f{async provideDocumentHighlights(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getDocumentHighlights(r.toString(),i,[r.toString()]);return a&&!t.isDisposed()?a.flatMap((e=>e.highlightSpans.map((e=>({range:this._textSpanToRange(t,e.textSpan),kind:"writtenReference"===e.kind?c.languages.DocumentHighlightKind.Write:c.languages.DocumentHighlightKind.Text}))))):void 0}},x=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideDefinition(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getDefinitionAtPosition(r.toString(),i);if(!a||t.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(a.map((t=>c.Uri.parse(t.fileName)))),t.isDisposed())return;const o=[];for(let t of a){const e=this._libFiles.getOrCreateModel(t.fileName);e&&o.push({uri:e.uri,range:this._textSpanToRange(e,t.textSpan)})}return o}},S=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideReferences(t,e,n,r){const i=t.uri,s=t.getOffsetAt(e),a=await this._worker(i);if(t.isDisposed())return;const o=await a.getReferencesAtPosition(i.toString(),s);if(!o||t.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(o.map((t=>c.Uri.parse(t.fileName)))),t.isDisposed())return;const u=[];for(let t of o){const e=this._libFiles.getOrCreateModel(t.fileName);e&&u.push({uri:e.uri,range:this._textSpanToRange(e,t.textSpan)})}return u}},C=class extends f{async provideDocumentSymbols(t,e){const n=t.uri,r=await this._worker(n);if(t.isDisposed())return;const i=await r.getNavigationTree(n.toString());if(!i||t.isDisposed())return;const s=(e,n)=>({name:e.text,detail:"",kind:N[e.kind]||c.languages.SymbolKind.Variable,range:this._textSpanToRange(t,e.spans[0]),selectionRange:this._textSpanToRange(t,e.spans[0]),tags:[],children:e.childItems?.map((t=>s(t,e.text))),containerName:n});return i.childItems?i.childItems.map((t=>s(t))):[]}},k=class{};o(k,"unknown",""),o(k,"keyword","keyword"),o(k,"script","script"),o(k,"module","module"),o(k,"class","class"),o(k,"interface","interface"),o(k,"type","type"),o(k,"enum","enum"),o(k,"variable","var"),o(k,"localVariable","local var"),o(k,"function","function"),o(k,"localFunction","local function"),o(k,"memberFunction","method"),o(k,"memberGetAccessor","getter"),o(k,"memberSetAccessor","setter"),o(k,"memberVariable","property"),o(k,"constructorImplementation","constructor"),o(k,"callSignature","call"),o(k,"indexSignature","index"),o(k,"constructSignature","construct"),o(k,"parameter","parameter"),o(k,"typeParameter","type parameter"),o(k,"primitiveType","primitive type"),o(k,"label","label"),o(k,"alias","alias"),o(k,"const","const"),o(k,"let","let"),o(k,"warning","warning");var N=Object.create(null);N[k.module]=c.languages.SymbolKind.Module,N[k.class]=c.languages.SymbolKind.Class,N[k.enum]=c.languages.SymbolKind.Enum,N[k.interface]=c.languages.SymbolKind.Interface,N[k.memberFunction]=c.languages.SymbolKind.Method,N[k.memberVariable]=c.languages.SymbolKind.Property,N[k.memberGetAccessor]=c.languages.SymbolKind.Property,N[k.memberSetAccessor]=c.languages.SymbolKind.Property,N[k.variable]=c.languages.SymbolKind.Variable,N[k.const]=c.languages.SymbolKind.Variable,N[k.localVariable]=c.languages.SymbolKind.Variable,N[k.variable]=c.languages.SymbolKind.Variable,N[k.function]=c.languages.SymbolKind.Function,N[k.localFunction]=c.languages.SymbolKind.Function;var _,I,F=class extends f{static _convertOptions(t){return{ConvertTabsToSpaces:t.insertSpaces,TabSize:t.tabSize,IndentSize:t.tabSize,IndentStyle:2,NewLineCharacter:"\n",InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(t,e){return{text:e.newText,range:this._textSpanToRange(t,e.span)}}},L=class extends F{canFormatMultipleRanges=!1;async provideDocumentRangeFormattingEdits(t,e,n,r){const i=t.uri,s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=await this._worker(i);if(t.isDisposed())return;const c=await o.getFormattingEditsForRange(i.toString(),s,a,F._convertOptions(n));return c&&!t.isDisposed()?c.map((e=>this._convertTextChanges(t,e))):void 0}},O=class extends F{get autoFormatTriggerCharacters(){return[";","}","\n"]}async provideOnTypeFormattingEdits(t,e,n,r,i){const s=t.uri,a=t.getOffsetAt(e),o=await this._worker(s);if(t.isDisposed())return;const c=await o.getFormattingEditsAfterKeystroke(s.toString(),a,n,F._convertOptions(r));return c&&!t.isDisposed()?c.map((e=>this._convertTextChanges(t,e))):void 0}},T=class extends F{async provideCodeActions(t,e,n,r){const i=t.uri,s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=F._convertOptions(t.getOptions()),c=n.markers.filter((t=>t.code)).map((t=>t.code)).map(Number),u=await this._worker(i);if(t.isDisposed())return;const l=await u.getCodeFixesAtPosition(i.toString(),s,a,c,o);return!l||t.isDisposed()?{actions:[],dispose:()=>{}}:{actions:l.filter((t=>0===t.changes.filter((t=>t.isNewFile)).length)).map((e=>this._tsCodeFixActionToMonacoCodeAction(t,n,e))),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(t,e,n){const r=[];for(const e of n.changes)for(const n of e.textChanges)r.push({resource:t.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(t,n.span),text:n.newText}});return{title:n.description,edit:{edits:r},diagnostics:e.markers,kind:"quickfix"}}},A=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideRenameEdits(t,e,n,r){const i=t.uri,s=i.toString(),a=t.getOffsetAt(e),o=await this._worker(i);if(t.isDisposed())return;const c=await o.getRenameInfo(s,a,{allowRenameOfImportPath:!1});if(!1===c.canRename)return{edits:[],rejectReason:c.localizedErrorMessage};if(void 0!==c.fileToRename)throw new Error("Renaming files is not supported.");const u=await o.findRenameLocations(s,a,!1,!1,!1);if(!u||t.isDisposed())return;const l=[];for(const t of u){const e=this._libFiles.getOrCreateModel(t.fileName);if(!e)throw new Error(`Unknown file ${t.fileName}.`);l.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,t.textSpan),text:n}})}return{edits:l}}},R=class extends f{async provideInlayHints(t,e,n){const r=t.uri,i=r.toString(),s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=await this._worker(r);return t.isDisposed()?null:{hints:(await o.provideInlayHints(i,s,a)).map((e=>({...e,label:e.text,position:t.getPositionAt(e.position),kind:this._convertHintKind(e.kind)}))),dispose:()=>{}}}_convertHintKind(t){return"Parameter"===t?c.languages.InlayHintKind.Parameter:c.languages.InlayHintKind.Type}};function P(t){I=E(t,"typescript")}function j(t){_=E(t,"javascript")}function B(){return new Promise(((t,e)=>{if(!_)return e("JavaScript not registered!");t(_)}))}function D(){return new Promise(((t,e)=>{if(!I)return e("TypeScript not registered!");t(I)}))}function E(t,e){const n=[],r=new u(e,t),i=(...t)=>r.getLanguageServiceWorker(...t),s=new m(i);return function(){const{modeConfiguration:r}=t;!function(t){for(;t.length;)t.pop().dispose()}(n),r.completionItems&&n.push(c.languages.registerCompletionItemProvider(e,new g(i))),r.signatureHelp&&n.push(c.languages.registerSignatureHelpProvider(e,new b(i))),r.hovers&&n.push(c.languages.registerHoverProvider(e,new v(i))),r.documentHighlights&&n.push(c.languages.registerDocumentHighlightProvider(e,new y(i))),r.definitions&&n.push(c.languages.registerDefinitionProvider(e,new x(s,i))),r.references&&n.push(c.languages.registerReferenceProvider(e,new S(s,i))),r.documentSymbols&&n.push(c.languages.registerDocumentSymbolProvider(e,new C(i))),r.rename&&n.push(c.languages.registerRenameProvider(e,new A(s,i))),r.documentRangeFormattingEdits&&n.push(c.languages.registerDocumentRangeFormattingEditProvider(e,new L(i))),r.onTypeFormattingEdits&&n.push(c.languages.registerOnTypeFormattingEditProvider(e,new O(i))),r.codeActions&&n.push(c.languages.registerCodeActionProvider(e,new T(i))),r.inlayHints&&n.push(c.languages.registerInlayHintsProvider(e,new R(i))),r.diagnostics&&n.push(new p(s,t,e,i))}(),i}export{f as Adapter,T as CodeActionAdaptor,x as DefinitionAdapter,p as DiagnosticsAdapter,y as DocumentHighlightAdapter,L as FormatAdapter,F as FormatHelper,O as FormatOnTypeAdapter,R as InlayHintsAdapter,k as Kind,m as LibFiles,C as OutlineAdapter,v as QuickInfoAdapter,S as ReferenceAdapter,A as RenameAdapter,b as SignatureHelpAdapter,g as SuggestAdapter,u as WorkerManager,h as flattenDiagnosticMessageText,B as getJavaScriptWorker,D as getTypeScriptWorker,j as setupJavaScript,P as setupTypeScript}
|
|
12
|
+
*-----------------------------------------------------------------------------*/var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,s=Object.prototype.hasOwnProperty,a=(t,e,a,o)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let c of i(e))s.call(t,c)||c===a||n(t,c,{get:()=>e[c],enumerable:!(o=r(e,c))||o.enumerable});return t},o=(t,e,r)=>(((t,e,r)=>{e in t?n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r})(t,"symbol"!=typeof e?e+"":e,r),r),c={};a(c,e,"default");var u=class{constructor(t,e){this._modeId=t,this._defaults=e,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker())),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange((()=>this._updateExtraLibs()))}_configChangeListener;_updateExtraLibsToken;_extraLibsChangeListener;_worker;_client;dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;const t=++this._updateExtraLibsToken,e=await this._worker.getProxy();this._updateExtraLibsToken===t&&e.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||(this._client=(async()=>(this._worker=c.editor.createWebWorker({moduleId:"vs/language/typescript/tsWorker",label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(c.editor.getModels().filter((t=>t.getLanguageId()===this._modeId)).map((t=>t.uri))):await this._worker.getProxy()))()),this._client}async getLanguageServiceWorker(...t){const e=await this._getClient();return this._worker&&await this._worker.withSyncedResources(t),e}},l={};function h(t,e,n=0){if("string"==typeof t)return t;if(void 0===t)return"";let r="";if(n){r+=e;for(let t=0;t<n;t++)r+=" "}if(r+=t.messageText,n++,t.next)for(const i of t.next)r+=h(i,e,n);return r}function d(t){return t?t.map((t=>t.text)).join(""):""}l["lib.d.ts"]=!0,l["lib.decorators.d.ts"]=!0,l["lib.decorators.legacy.d.ts"]=!0,l["lib.dom.d.ts"]=!0,l["lib.dom.iterable.d.ts"]=!0,l["lib.es2015.collection.d.ts"]=!0,l["lib.es2015.core.d.ts"]=!0,l["lib.es2015.d.ts"]=!0,l["lib.es2015.generator.d.ts"]=!0,l["lib.es2015.iterable.d.ts"]=!0,l["lib.es2015.promise.d.ts"]=!0,l["lib.es2015.proxy.d.ts"]=!0,l["lib.es2015.reflect.d.ts"]=!0,l["lib.es2015.symbol.d.ts"]=!0,l["lib.es2015.symbol.wellknown.d.ts"]=!0,l["lib.es2016.array.include.d.ts"]=!0,l["lib.es2016.d.ts"]=!0,l["lib.es2016.full.d.ts"]=!0,l["lib.es2017.d.ts"]=!0,l["lib.es2017.full.d.ts"]=!0,l["lib.es2017.intl.d.ts"]=!0,l["lib.es2017.object.d.ts"]=!0,l["lib.es2017.sharedmemory.d.ts"]=!0,l["lib.es2017.string.d.ts"]=!0,l["lib.es2017.typedarrays.d.ts"]=!0,l["lib.es2018.asyncgenerator.d.ts"]=!0,l["lib.es2018.asynciterable.d.ts"]=!0,l["lib.es2018.d.ts"]=!0,l["lib.es2018.full.d.ts"]=!0,l["lib.es2018.intl.d.ts"]=!0,l["lib.es2018.promise.d.ts"]=!0,l["lib.es2018.regexp.d.ts"]=!0,l["lib.es2019.array.d.ts"]=!0,l["lib.es2019.d.ts"]=!0,l["lib.es2019.full.d.ts"]=!0,l["lib.es2019.intl.d.ts"]=!0,l["lib.es2019.object.d.ts"]=!0,l["lib.es2019.string.d.ts"]=!0,l["lib.es2019.symbol.d.ts"]=!0,l["lib.es2020.bigint.d.ts"]=!0,l["lib.es2020.d.ts"]=!0,l["lib.es2020.date.d.ts"]=!0,l["lib.es2020.full.d.ts"]=!0,l["lib.es2020.intl.d.ts"]=!0,l["lib.es2020.number.d.ts"]=!0,l["lib.es2020.promise.d.ts"]=!0,l["lib.es2020.sharedmemory.d.ts"]=!0,l["lib.es2020.string.d.ts"]=!0,l["lib.es2020.symbol.wellknown.d.ts"]=!0,l["lib.es2021.d.ts"]=!0,l["lib.es2021.full.d.ts"]=!0,l["lib.es2021.intl.d.ts"]=!0,l["lib.es2021.promise.d.ts"]=!0,l["lib.es2021.string.d.ts"]=!0,l["lib.es2021.weakref.d.ts"]=!0,l["lib.es2022.array.d.ts"]=!0,l["lib.es2022.d.ts"]=!0,l["lib.es2022.error.d.ts"]=!0,l["lib.es2022.full.d.ts"]=!0,l["lib.es2022.intl.d.ts"]=!0,l["lib.es2022.object.d.ts"]=!0,l["lib.es2022.regexp.d.ts"]=!0,l["lib.es2022.sharedmemory.d.ts"]=!0,l["lib.es2022.string.d.ts"]=!0,l["lib.es2023.array.d.ts"]=!0,l["lib.es2023.d.ts"]=!0,l["lib.es2023.full.d.ts"]=!0,l["lib.es5.d.ts"]=!0,l["lib.es6.d.ts"]=!0,l["lib.esnext.d.ts"]=!0,l["lib.esnext.full.d.ts"]=!0,l["lib.esnext.intl.d.ts"]=!0,l["lib.scripthost.d.ts"]=!0,l["lib.webworker.d.ts"]=!0,l["lib.webworker.importscripts.d.ts"]=!0,l["lib.webworker.iterable.d.ts"]=!0;var f=class{constructor(t){this._worker=t}_textSpanToRange(t,e){let n=t.getPositionAt(e.start),r=t.getPositionAt(e.start+e.length),{lineNumber:i,column:s}=n,{lineNumber:a,column:o}=r;return{startLineNumber:i,startColumn:s,endLineNumber:a,endColumn:o}}},m=class{constructor(t){this._worker=t,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}_libFiles;_hasFetchedLibFiles;_fetchLibFilesPromise;isLibFile(t){return!!t&&0===t.path.indexOf("/lib.")&&!!l[t.path.slice(1)]}getOrCreateModel(e){const n=c.Uri.parse(e),r=c.editor.getModel(n);if(r)return r;if(this.isLibFile(n)&&this._hasFetchedLibFiles)return c.editor.createModel(this._libFiles[n.path.slice(1)],"typescript",n);const i=t.getExtraLibs()[e];return i?c.editor.createModel(i.content,"typescript",n):null}_containsLibFile(t){for(let e of t)if(this.isLibFile(e))return!0;return!1}async fetchLibFilesIfNecessary(t){this._containsLibFile(t)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then((t=>t.getLibFiles())).then((t=>{this._hasFetchedLibFiles=!0,this._libFiles=t}))),this._fetchLibFilesPromise}},p=class extends f{constructor(t,e,n,r){super(r),this._libFiles=t,this._defaults=e,this._selector=n;const i=t=>{if(t.getLanguageId()!==n)return;const e=()=>{const{onlyVisible:e}=this._defaults.getDiagnosticsOptions();e?t.isAttachedToEditor()&&this._doValidate(t):this._doValidate(t)};let r;const i=t.onDidChangeContent((()=>{clearTimeout(r),r=window.setTimeout(e,500)})),s=t.onDidChangeAttached((()=>{const{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(t.isAttachedToEditor()?e():c.editor.setModelMarkers(t,this._selector,[]))}));this._listener[t.uri.toString()]={dispose(){i.dispose(),s.dispose(),clearTimeout(r)}},e()},s=t=>{c.editor.setModelMarkers(t,this._selector,[]);const e=t.uri.toString();this._listener[e]&&(this._listener[e].dispose(),delete this._listener[e])};this._disposables.push(c.editor.onDidCreateModel((t=>i(t)))),this._disposables.push(c.editor.onWillDisposeModel(s)),this._disposables.push(c.editor.onDidChangeModelLanguage((t=>{s(t.model),i(t.model)}))),this._disposables.push({dispose(){for(const t of c.editor.getModels())s(t)}});const a=()=>{for(const t of c.editor.getModels())s(t),i(t)};this._disposables.push(this._defaults.onDidChange(a)),this._disposables.push(this._defaults.onDidExtraLibsChange(a)),c.editor.getModels().forEach((t=>i(t)))}_disposables=[];_listener=Object.create(null);dispose(){this._disposables.forEach((t=>t&&t.dispose())),this._disposables=[]}async _doValidate(t){const e=await this._worker(t.uri);if(t.isDisposed())return;const n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:s}=this._defaults.getDiagnosticsOptions();r||n.push(e.getSyntacticDiagnostics(t.uri.toString())),i||n.push(e.getSemanticDiagnostics(t.uri.toString())),s||n.push(e.getSuggestionDiagnostics(t.uri.toString()));const a=await Promise.all(n);if(!a||t.isDisposed())return;const o=a.reduce(((t,e)=>e.concat(t)),[]).filter((t=>-1===(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(t.code))),u=o.map((t=>t.relatedInformation||[])).reduce(((t,e)=>e.concat(t)),[]).map((t=>t.file?c.Uri.parse(t.file.fileName):null));await this._libFiles.fetchLibFilesIfNecessary(u),t.isDisposed()||c.editor.setModelMarkers(t,this._selector,o.map((e=>this._convertDiagnostics(t,e))))}_convertDiagnostics(t,e){const n=e.start||0,r=e.length||1,{lineNumber:i,column:s}=t.getPositionAt(n),{lineNumber:a,column:o}=t.getPositionAt(n+r),u=[];return e.reportsUnnecessary&&u.push(c.MarkerTag.Unnecessary),e.reportsDeprecated&&u.push(c.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(e.category),startLineNumber:i,startColumn:s,endLineNumber:a,endColumn:o,message:h(e.messageText,"\n"),code:e.code.toString(),tags:u,relatedInformation:this._convertRelatedInformation(t,e.relatedInformation)}}_convertRelatedInformation(t,e){if(!e)return[];const n=[];return e.forEach((e=>{let r=t;if(e.file&&(r=this._libFiles.getOrCreateModel(e.file.fileName)),!r)return;const i=e.start||0,s=e.length||1,{lineNumber:a,column:o}=r.getPositionAt(i),{lineNumber:c,column:u}=r.getPositionAt(i+s);n.push({resource:r.uri,startLineNumber:a,startColumn:o,endLineNumber:c,endColumn:u,message:h(e.messageText,"\n")})})),n}_tsDiagnosticCategoryToMarkerSeverity(t){switch(t){case 1:return c.MarkerSeverity.Error;case 3:return c.MarkerSeverity.Info;case 0:return c.MarkerSeverity.Warning;case 2:return c.MarkerSeverity.Hint}return c.MarkerSeverity.Info}},g=class extends f{get triggerCharacters(){return["."]}async provideCompletionItems(t,e,n,r){const i=t.getWordUntilPosition(e),s=new c.Range(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn),a=t.uri,o=t.getOffsetAt(e),u=await this._worker(a);if(t.isDisposed())return;const l=await u.getCompletionsAtPosition(a.toString(),o);return l&&!t.isDisposed()?{suggestions:l.entries.map((n=>{let r=s;if(n.replacementSpan){const e=t.getPositionAt(n.replacementSpan.start),i=t.getPositionAt(n.replacementSpan.start+n.replacementSpan.length);r=new c.Range(e.lineNumber,e.column,i.lineNumber,i.column)}const i=[];return void 0!==n.kindModifiers&&-1!==n.kindModifiers.indexOf("deprecated")&&i.push(c.languages.CompletionItemTag.Deprecated),{uri:a,position:e,offset:o,range:r,label:n.name,insertText:n.name,sortText:n.sortText,kind:g.convertKind(n.kind),tags:i}}))}:void 0}async resolveCompletionItem(t,e){const n=t,r=n.uri,i=n.position,s=n.offset,a=await this._worker(r),o=await a.getCompletionEntryDetails(r.toString(),s,n.label);return o?{uri:r,position:i,label:o.name,kind:g.convertKind(o.kind),detail:d(o.displayParts),documentation:{value:g.createDocumentationString(o)}}:n}static convertKind(t){switch(t){case k.primitiveType:case k.keyword:return c.languages.CompletionItemKind.Keyword;case k.variable:case k.localVariable:return c.languages.CompletionItemKind.Variable;case k.memberVariable:case k.memberGetAccessor:case k.memberSetAccessor:return c.languages.CompletionItemKind.Field;case k.function:case k.memberFunction:case k.constructSignature:case k.callSignature:case k.indexSignature:return c.languages.CompletionItemKind.Function;case k.enum:return c.languages.CompletionItemKind.Enum;case k.module:return c.languages.CompletionItemKind.Module;case k.class:return c.languages.CompletionItemKind.Class;case k.interface:return c.languages.CompletionItemKind.Interface;case k.warning:return c.languages.CompletionItemKind.File}return c.languages.CompletionItemKind.Property}static createDocumentationString(t){let e=d(t.documentation);if(t.tags)for(const n of t.tags)e+=`\n\n${w(n)}`;return e}};function w(t){let e=`*@${t.name}*`;if("param"===t.name&&t.text){const[n,...r]=t.text;e+=`\`${n.text}\``,r.length>0&&(e+=` — ${r.map((t=>t.text)).join(" ")}`)}else Array.isArray(t.text)?e+=` — ${t.text.map((t=>t.text)).join(" ")}`:t.text&&(e+=` — ${t.text}`);return e}var b=class extends f{signatureHelpTriggerCharacters=["(",","];static _toSignatureHelpTriggerReason(t){switch(t.triggerKind){case c.languages.SignatureHelpTriggerKind.TriggerCharacter:return t.triggerCharacter?t.isRetrigger?{kind:"retrigger",triggerCharacter:t.triggerCharacter}:{kind:"characterTyped",triggerCharacter:t.triggerCharacter}:{kind:"invoked"};case c.languages.SignatureHelpTriggerKind.ContentChange:return t.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};default:return{kind:"invoked"}}}async provideSignatureHelp(t,e,n,r){const i=t.uri,s=t.getOffsetAt(e),a=await this._worker(i);if(t.isDisposed())return;const o=await a.getSignatureHelpItems(i.toString(),s,{triggerReason:b._toSignatureHelpTriggerReason(r)});if(!o||t.isDisposed())return;const c={activeSignature:o.selectedItemIndex,activeParameter:o.argumentIndex,signatures:[]};return o.items.forEach((t=>{const e={label:"",parameters:[]};e.documentation={value:d(t.documentation)},e.label+=d(t.prefixDisplayParts),t.parameters.forEach(((n,r,i)=>{const s=d(n.displayParts),a={label:s,documentation:{value:d(n.documentation)}};e.label+=s,e.parameters.push(a),r<i.length-1&&(e.label+=d(t.separatorDisplayParts))})),e.label+=d(t.suffixDisplayParts),c.signatures.push(e)})),{value:c,dispose(){}}}},v=class extends f{async provideHover(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getQuickInfoAtPosition(r.toString(),i);if(!a||t.isDisposed())return;const o=d(a.documentation),c=a.tags?a.tags.map((t=>w(t))).join(" \n\n"):"",u=d(a.displayParts);return{range:this._textSpanToRange(t,a.textSpan),contents:[{value:"```typescript\n"+u+"\n```\n"},{value:o+(c?"\n\n"+c:"")}]}}},y=class extends f{async provideDocumentHighlights(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getDocumentHighlights(r.toString(),i,[r.toString()]);return a&&!t.isDisposed()?a.flatMap((e=>e.highlightSpans.map((e=>({range:this._textSpanToRange(t,e.textSpan),kind:"writtenReference"===e.kind?c.languages.DocumentHighlightKind.Write:c.languages.DocumentHighlightKind.Text}))))):void 0}},x=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideDefinition(t,e,n){const r=t.uri,i=t.getOffsetAt(e),s=await this._worker(r);if(t.isDisposed())return;const a=await s.getDefinitionAtPosition(r.toString(),i);if(!a||t.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(a.map((t=>c.Uri.parse(t.fileName)))),t.isDisposed())return;const o=[];for(let t of a){const e=this._libFiles.getOrCreateModel(t.fileName);e&&o.push({uri:e.uri,range:this._textSpanToRange(e,t.textSpan)})}return o}},S=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideReferences(t,e,n,r){const i=t.uri,s=t.getOffsetAt(e),a=await this._worker(i);if(t.isDisposed())return;const o=await a.getReferencesAtPosition(i.toString(),s);if(!o||t.isDisposed())return;if(await this._libFiles.fetchLibFilesIfNecessary(o.map((t=>c.Uri.parse(t.fileName)))),t.isDisposed())return;const u=[];for(let t of o){const e=this._libFiles.getOrCreateModel(t.fileName);e&&u.push({uri:e.uri,range:this._textSpanToRange(e,t.textSpan)})}return u}},C=class extends f{async provideDocumentSymbols(t,e){const n=t.uri,r=await this._worker(n);if(t.isDisposed())return;const i=await r.getNavigationTree(n.toString());if(!i||t.isDisposed())return;const s=(e,n)=>({name:e.text,detail:"",kind:N[e.kind]||c.languages.SymbolKind.Variable,range:this._textSpanToRange(t,e.spans[0]),selectionRange:this._textSpanToRange(t,e.spans[0]),tags:[],children:e.childItems?.map((t=>s(t,e.text))),containerName:n});return i.childItems?i.childItems.map((t=>s(t))):[]}},k=class{};o(k,"unknown",""),o(k,"keyword","keyword"),o(k,"script","script"),o(k,"module","module"),o(k,"class","class"),o(k,"interface","interface"),o(k,"type","type"),o(k,"enum","enum"),o(k,"variable","var"),o(k,"localVariable","local var"),o(k,"function","function"),o(k,"localFunction","local function"),o(k,"memberFunction","method"),o(k,"memberGetAccessor","getter"),o(k,"memberSetAccessor","setter"),o(k,"memberVariable","property"),o(k,"constructorImplementation","constructor"),o(k,"callSignature","call"),o(k,"indexSignature","index"),o(k,"constructSignature","construct"),o(k,"parameter","parameter"),o(k,"typeParameter","type parameter"),o(k,"primitiveType","primitive type"),o(k,"label","label"),o(k,"alias","alias"),o(k,"const","const"),o(k,"let","let"),o(k,"warning","warning");var N=Object.create(null);N[k.module]=c.languages.SymbolKind.Module,N[k.class]=c.languages.SymbolKind.Class,N[k.enum]=c.languages.SymbolKind.Enum,N[k.interface]=c.languages.SymbolKind.Interface,N[k.memberFunction]=c.languages.SymbolKind.Method,N[k.memberVariable]=c.languages.SymbolKind.Property,N[k.memberGetAccessor]=c.languages.SymbolKind.Property,N[k.memberSetAccessor]=c.languages.SymbolKind.Property,N[k.variable]=c.languages.SymbolKind.Variable,N[k.const]=c.languages.SymbolKind.Variable,N[k.localVariable]=c.languages.SymbolKind.Variable,N[k.variable]=c.languages.SymbolKind.Variable,N[k.function]=c.languages.SymbolKind.Function,N[k.localFunction]=c.languages.SymbolKind.Function;var _,F,I=class extends f{static _convertOptions(t){return{ConvertTabsToSpaces:t.insertSpaces,TabSize:t.tabSize,IndentSize:t.tabSize,IndentStyle:2,NewLineCharacter:"\n",InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(t,e){return{text:e.newText,range:this._textSpanToRange(t,e.span)}}},L=class extends I{canFormatMultipleRanges=!1;async provideDocumentRangeFormattingEdits(t,e,n,r){const i=t.uri,s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=await this._worker(i);if(t.isDisposed())return;const c=await o.getFormattingEditsForRange(i.toString(),s,a,I._convertOptions(n));return c&&!t.isDisposed()?c.map((e=>this._convertTextChanges(t,e))):void 0}},O=class extends I{get autoFormatTriggerCharacters(){return[";","}","\n"]}async provideOnTypeFormattingEdits(t,e,n,r,i){const s=t.uri,a=t.getOffsetAt(e),o=await this._worker(s);if(t.isDisposed())return;const c=await o.getFormattingEditsAfterKeystroke(s.toString(),a,n,I._convertOptions(r));return c&&!t.isDisposed()?c.map((e=>this._convertTextChanges(t,e))):void 0}},T=class extends I{async provideCodeActions(t,e,n,r){const i=t.uri,s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=I._convertOptions(t.getOptions()),c=n.markers.filter((t=>t.code)).map((t=>t.code)).map(Number),u=await this._worker(i);if(t.isDisposed())return;const l=await u.getCodeFixesAtPosition(i.toString(),s,a,c,o);return!l||t.isDisposed()?{actions:[],dispose:()=>{}}:{actions:l.filter((t=>0===t.changes.filter((t=>t.isNewFile)).length)).map((e=>this._tsCodeFixActionToMonacoCodeAction(t,n,e))),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(t,e,n){const r=[];for(const e of n.changes)for(const n of e.textChanges)r.push({resource:t.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(t,n.span),text:n.newText}});return{title:n.description,edit:{edits:r},diagnostics:e.markers,kind:"quickfix"}}},A=class extends f{constructor(t,e){super(e),this._libFiles=t}async provideRenameEdits(t,e,n,r){const i=t.uri,s=i.toString(),a=t.getOffsetAt(e),o=await this._worker(i);if(t.isDisposed())return;const c=await o.getRenameInfo(s,a,{allowRenameOfImportPath:!1});if(!1===c.canRename)return{edits:[],rejectReason:c.localizedErrorMessage};if(void 0!==c.fileToRename)throw new Error("Renaming files is not supported.");const u=await o.findRenameLocations(s,a,!1,!1,!1);if(!u||t.isDisposed())return;const l=[];for(const t of u){const e=this._libFiles.getOrCreateModel(t.fileName);if(!e)throw new Error(`Unknown file ${t.fileName}.`);l.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,t.textSpan),text:n}})}return{edits:l}}},R=class extends f{async provideInlayHints(t,e,n){const r=t.uri,i=r.toString(),s=t.getOffsetAt({lineNumber:e.startLineNumber,column:e.startColumn}),a=t.getOffsetAt({lineNumber:e.endLineNumber,column:e.endColumn}),o=await this._worker(r);return t.isDisposed()?null:{hints:(await o.provideInlayHints(i,s,a)).map((e=>({...e,label:e.text,position:t.getPositionAt(e.position),kind:this._convertHintKind(e.kind)}))),dispose:()=>{}}}_convertHintKind(t){return"Parameter"===t?c.languages.InlayHintKind.Parameter:c.languages.InlayHintKind.Type}};function P(t){F=E(t,"typescript")}function j(t){_=E(t,"javascript")}function B(){return new Promise(((t,e)=>{if(!_)return e("JavaScript not registered!");t(_)}))}function D(){return new Promise(((t,e)=>{if(!F)return e("TypeScript not registered!");t(F)}))}function E(t,e){const n=[],r=new u(e,t),i=(...t)=>r.getLanguageServiceWorker(...t),s=new m(i);return function(){const{modeConfiguration:r}=t;!function(t){for(;t.length;)t.pop().dispose()}(n),r.completionItems&&n.push(c.languages.registerCompletionItemProvider(e,new g(i))),r.signatureHelp&&n.push(c.languages.registerSignatureHelpProvider(e,new b(i))),r.hovers&&n.push(c.languages.registerHoverProvider(e,new v(i))),r.documentHighlights&&n.push(c.languages.registerDocumentHighlightProvider(e,new y(i))),r.definitions&&n.push(c.languages.registerDefinitionProvider(e,new x(s,i))),r.references&&n.push(c.languages.registerReferenceProvider(e,new S(s,i))),r.documentSymbols&&n.push(c.languages.registerDocumentSymbolProvider(e,new C(i))),r.rename&&n.push(c.languages.registerRenameProvider(e,new A(s,i))),r.documentRangeFormattingEdits&&n.push(c.languages.registerDocumentRangeFormattingEditProvider(e,new L(i))),r.onTypeFormattingEdits&&n.push(c.languages.registerOnTypeFormattingEditProvider(e,new O(i))),r.codeActions&&n.push(c.languages.registerCodeActionProvider(e,new T(i))),r.inlayHints&&n.push(c.languages.registerInlayHintsProvider(e,new R(i))),r.diagnostics&&n.push(new p(s,t,e,i))}(),i}export{f as Adapter,T as CodeActionAdaptor,x as DefinitionAdapter,p as DiagnosticsAdapter,y as DocumentHighlightAdapter,L as FormatAdapter,I as FormatHelper,O as FormatOnTypeAdapter,R as InlayHintsAdapter,k as Kind,m as LibFiles,C as OutlineAdapter,v as QuickInfoAdapter,S as ReferenceAdapter,A as RenameAdapter,b as SignatureHelpAdapter,g as SuggestAdapter,u as WorkerManager,h as flattenDiagnosticMessageText,B as getJavaScriptWorker,D as getTypeScriptWorker,j as setupJavaScript,P as setupTypeScript}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
|
-
* See https://js.arcgis.com/4.
|
|
4
|
-
* v4.
|
|
3
|
+
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
+
* v4.31.0-next.2
|
|
5
5
|
*/
|
|
6
|
-
import{E as e,e as t,M as s,R as n,m as r,F as i,G as a}from"./p-df22caf3.js";import"./p-8f59b7ab.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 b{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 k;async function w(...e){return await new Promise(((t,s)=>{k?t(k(...e)):s(new Error("TypeScript 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 b(e),s=async(...e)=>await t.getLanguageServiceWorker(...e);k=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{G as e,e as t,M as s,R as n,y as r,H as i,J as o}from"./p-36fedc23.js";import"./p-e8211ffe.js";var a=[[],[],[]];["++","--"].forEach((e=>a[e.length-1]?.push(e))),["-","+","!","~"].forEach((e=>a[e.length-1]?.push(e))),["||","&&"].forEach((e=>a[e.length-1]?.push(e))),["=","/=","*=","%=","+=","-="].forEach((e=>a[e.length-1]?.push(e))),["|","&",">>","<<",">>>","^","==","!=","<","<=",">",">=","+","-","*","/","%"].forEach((e=>a[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 o=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)},a=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(o)),this._disposables.push(t.onWillDisposeModel((e=>{a(e)}))),this._disposables.push(t.onDidChangeModelLanguage((e=>{a(e.model),o(e.model)}))),this._disposables.push(n.onDidChange((()=>{t.getModels().forEach((e=>{e.getLanguageId()===this._languageId&&(a(e),o(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(o)}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),o=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,o)}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),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),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: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:a.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("TypeScript not registered!"))}))}const y=new class{constructor(){this._onDiagnosticsChange=new o}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}
|