@arcgis/coding-components 4.31.0-next.3 → 4.31.0-next.31
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/README.md +22 -3
- package/dist/arcgis-coding-components/arcgis-coding-components.esm.js +2 -2
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ar.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.bg.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.bs.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ca.json +6 -6
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.cs.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.da.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.de.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.el.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.es.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.et.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.fi.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.fr.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.he.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.hr.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.id.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.it.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ko.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.nb.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.nl.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pl.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pt-BR.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.pt-PT.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.ru.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sk.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sl.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sr.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.sv.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.th.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.tr.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.uk.json +5 -5
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.vi.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-CN.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-HK.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-language/t9n/profile.t9n.zh-TW.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.ca.json +2 -2
- package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.de.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-results/t9n/arcade-results.t9n.he.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.ca.json +1 -1
- package/dist/arcgis-coding-components/assets/arcade-variables/t9n/arcade-variables.t9n.it.json +1 -1
- package/dist/arcgis-coding-components/assets/code-editor/sql-expr.worker.js +447 -7
- package/dist/arcgis-coding-components/assets/language-api-panel/t9n/language-api-panel.t9n.ca.json +1 -1
- package/dist/arcgis-coding-components/index.esm.js +2 -2
- package/dist/arcgis-coding-components/p-18b2d2f5.js +7 -0
- package/dist/arcgis-coding-components/p-25183ed9.js +6 -0
- package/dist/arcgis-coding-components/{p-93d0e0cc.js → p-416666a0.js} +12 -12
- package/dist/arcgis-coding-components/p-536cdf7f.js +6 -0
- package/dist/arcgis-coding-components/{p-9132bc9c.entry.js → p-5c8677cf.entry.js} +2 -2
- package/dist/arcgis-coding-components/p-6e7ad639.js +6 -0
- package/dist/arcgis-coding-components/p-81152e8f.entry.js +6 -0
- package/dist/arcgis-coding-components/{p-86106a9a.js → p-983460ea.js} +1 -1
- package/dist/arcgis-coding-components/p-98f1e54e.js +6 -0
- package/dist/arcgis-coding-components/{p-111ba641.js → p-9c648939.js} +2 -2
- package/dist/arcgis-coding-components/{p-6554a853.js → p-9d4ed924.js} +1 -1
- package/dist/arcgis-coding-components/{p-7c6b3d40.js → p-b87b9e87.js} +2 -2
- package/dist/arcgis-coding-components/{p-3ca5ba95.entry.js → p-c61b56ec.entry.js} +2 -2
- package/dist/arcgis-coding-components/{p-4986aaf2.js → p-c66ece75.js} +3 -3
- package/dist/arcgis-coding-components/{p-42c8b545.js → p-c7d40b7a.js} +3 -3
- package/dist/arcgis-coding-components/p-e14e15c3.js +6 -0
- package/dist/arcgis-coding-components/{p-8b4298d5.js → p-ec21f417.js} +2 -2
- package/dist/arcgis-coding-components/{p-c4a5150e.js → p-f257c183.js} +3 -3
- package/dist/arcgis-coding-components/{p-5eb82abf.js → p-fc9f9713.js} +2 -2
- package/dist/cjs/{app-globals-92c5b499.js → app-globals-a4195754.js} +1 -1
- package/dist/cjs/arcade-defaults-eb4c386e.js +349 -0
- package/dist/cjs/arcade-language-features-443afb4a.js +274 -0
- package/dist/cjs/{arcade-mode-dfd66b4b.js → arcade-mode-b7f29ea1.js} +6 -266
- package/dist/cjs/arcgis-arcade-editor_6.cjs.entry.js +20 -26
- package/dist/cjs/arcgis-coding-components.cjs.js +5 -5
- package/dist/cjs/arcgis-sql-expression-editor.cjs.entry.js +4 -4
- package/dist/cjs/arcgis-sql-expression-fields.cjs.entry.js +4 -4
- package/dist/cjs/{css-9b0053c3.js → css-69196adc.js} +1 -1
- package/dist/cjs/{cssMode-62e53008.js → cssMode-859f4e51.js} +2 -3
- package/dist/cjs/{html-3036e89e.js → html-4fbc00a9.js} +2 -3
- package/dist/cjs/{htmlMode-c37eee42.js → htmlMode-a72d1bc1.js} +2 -3
- package/dist/cjs/{index-be6b2520.js → index-bdf3252c.js} +43 -15
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/{javascript-7276c023.js → javascript-58361a1e.js} +3 -4
- package/dist/cjs/{jsonMode-baa295f0.js → jsonMode-193bd3e6.js} +2 -3
- package/dist/cjs/{language-defaults-base-5817af52.js → language-defaults-base-21562698.js} +842 -1062
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{sql-expr-defaults-746bbc5f.js → sql-expr-defaults-c60e217b.js} +101 -39
- package/dist/cjs/sql-expr-mode-d24b61b3.js +1171 -0
- package/dist/cjs/{tsMode-36398912.js → tsMode-7a15853a.js} +2 -3
- package/dist/cjs/{typescript-608a420b.js → typescript-f25eb5d3.js} +2 -3
- package/dist/components/arcade-defaults.js +238 -4
- package/dist/components/arcade-language-features.js +271 -0
- package/dist/components/arcade-mode.js +4 -264
- package/dist/components/arcade-results.js +3 -3
- package/dist/components/arcade-suggestions.js +2 -2
- package/dist/components/arcade-variables.js +2 -2
- package/dist/components/arcgis-arcade-editor.js +7 -6
- package/dist/components/arcgis-arcade-results.js +1 -1
- package/dist/components/arcgis-arcade-suggestions.js +1 -1
- package/dist/components/arcgis-arcade-variables.js +1 -1
- package/dist/components/arcgis-assets.d.ts +1 -1
- package/dist/components/arcgis-assets.js +1 -1
- package/dist/components/arcgis-code-editor.js +1 -1
- package/dist/components/arcgis-language-api-panel.js +1 -1
- package/dist/components/arcgis-sql-expression-editor.js +2 -2
- package/dist/components/arcgis-sql-expression-fields.js +1 -1
- package/dist/components/{chunk-6TARY3NN.js → chunk-EOMOY2EF.js} +12 -17
- package/dist/components/code-editor.js +16 -23
- package/dist/components/fields.js +22 -4
- package/dist/components/index.d.ts +18 -3
- package/dist/components/index.js +1 -1
- package/dist/components/index2.js +2 -2
- package/dist/components/language-api-panel.js +2 -2
- package/dist/components/language-defaults-base.js +81 -323
- package/dist/components/markdown.js +1 -1
- package/dist/components/sql-expr-defaults.js +89 -24
- package/dist/components/sql-expr-mode.js +1009 -24971
- package/dist/components/sql-expression-fields.js +2 -2
- package/dist/components/useT9n.js +2 -2
- package/dist/components/utilities.js +1 -1
- package/dist/esm/{app-globals-5e178541.js → app-globals-fe777f03.js} +1 -1
- package/dist/esm/arcade-defaults-59308750.js +344 -0
- package/dist/esm/arcade-language-features-bb595565.js +269 -0
- package/dist/esm/{arcade-mode-02336ce9.js → arcade-mode-ecfbfe83.js} +3 -263
- package/dist/esm/arcgis-arcade-editor_6.entry.js +21 -27
- package/dist/esm/arcgis-coding-components.js +6 -6
- package/dist/esm/arcgis-sql-expression-editor.entry.js +4 -4
- package/dist/esm/arcgis-sql-expression-fields.entry.js +4 -4
- package/dist/esm/{css-e79f1ed1.js → css-5d085688.js} +1 -1
- package/dist/esm/{cssMode-cd007d02.js → cssMode-ce6a5fa5.js} +2 -3
- package/dist/esm/{html-d079d00d.js → html-3bbdbcc4.js} +2 -3
- package/dist/esm/{htmlMode-ff14e035.js → htmlMode-ba97a916.js} +2 -3
- package/dist/esm/{index-88fc341d.js → index-c0152d8f.js} +43 -15
- package/dist/esm/index.js +4 -4
- package/dist/esm/{javascript-69f7c282.js → javascript-882d0f8e.js} +3 -4
- package/dist/esm/{jsonMode-18ddadde.js → jsonMode-81390da0.js} +2 -3
- package/dist/esm/{language-defaults-base-6687d11a.js → language-defaults-base-98463e74.js} +837 -1062
- package/dist/esm/loader.js +5 -5
- package/dist/esm/{sql-expr-defaults-2cdfe08a.js → sql-expr-defaults-7dc678a7.js} +100 -40
- package/dist/esm/sql-expr-mode-3bee46a2.js +1167 -0
- package/dist/esm/{tsMode-c2e5d33a.js → tsMode-c62203dd.js} +2 -3
- package/dist/esm/{typescript-a0fbebf0.js → typescript-b12d65fd.js} +2 -3
- package/dist/loader/cdn.js +2 -3
- package/dist/loader/index.cjs.js +2 -3
- package/dist/loader/index.es2017.js +2 -3
- package/dist/loader/index.js +2 -3
- package/dist/types/components/arcade-editor/arcade-editor.d.ts +13 -3
- package/dist/types/components/arcade-results/arcade-results.d.ts +1 -1
- package/dist/types/components/arcade-suggestions/arcade-suggestions.d.ts +1 -1
- package/dist/types/components/arcade-variables/arcade-variables.d.ts +1 -1
- package/dist/types/components/code-editor/code-editor.d.ts +14 -4
- package/dist/types/components/language-api-panel/language-api-panel.d.ts +1 -1
- package/dist/types/components.d.ts +13 -13
- package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/arcade-editor/arcade-editor.stories.d.ts +8 -1
- package/dist/types/data/actions-runner-1/_work/arcgis-web-components/arcgis-web-components/packages/coding-packages/coding-components/.stencil/stories/internal/arcade-editor/editorContext.d.ts +5 -1
- package/dist/types/stencil-public-runtime.d.ts +3 -8
- package/dist/types/utils/arcade-monaco/arcade-language-features.d.ts +1 -0
- package/dist/types/utils/arcade-monaco/arcade-profile-strategy.d.ts +9 -0
- package/dist/types/utils/fields.d.ts +2 -2
- package/dist/types/utils/profile/editor-profile.d.ts +7 -6
- package/dist/types/utils/profile/types.d.ts +53 -65
- package/dist/types/utils/profile/utils.d.ts +9 -8
- package/dist/types/utils/sql-expr-monaco/sql-expr-completion.d.ts +3 -2
- package/dist/types/utils/sql-expr-monaco/sql-expr-constants.d.ts +45 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-contribution.d.ts +1 -11
- package/dist/types/utils/sql-expr-monaco/sql-expr-defaults.d.ts +0 -1
- package/dist/types/utils/sql-expr-monaco/sql-expr-language-features.d.ts +19 -520
- package/dist/types/utils/sql-expr-monaco/sql-expr-mode.d.ts +34 -1
- package/dist/types/utils/sql-expr-monaco/sql-expr-service-accessors.d.ts +19 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-diagnostic-adapter.d.ts +0 -7
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-utils.d.ts +75 -77
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation.d.ts +5 -6
- package/dist/types/utils/sql-expr-monaco/sql-expr-worker-manager.d.ts +2 -0
- package/dist/types/utils/sql-expr-monaco/sql-expr.worker.d.ts +9 -6
- package/dist/types/utils/sql-expr-monaco/sql-expression-profile-strategy.d.ts +13 -0
- package/dist/types/utils/sql-expr-monaco/types.d.ts +6 -12
- package/package.json +19 -19
- package/dist/arcgis-coding-components/p-0105cc95.js +0 -6
- package/dist/arcgis-coding-components/p-5e26a360.js +0 -6
- package/dist/arcgis-coding-components/p-9c7e0089.js +0 -7
- package/dist/arcgis-coding-components/p-b82e98f0.js +0 -6
- package/dist/arcgis-coding-components/p-d353f1ba.entry.js +0 -6
- package/dist/arcgis-coding-components/p-fe6ccfe0.js +0 -6
- package/dist/cjs/arcade-defaults-34e82ff5.js +0 -116
- package/dist/cjs/sql-expr-mode-a9f1b697.js +0 -25135
- package/dist/esm/arcade-defaults-6dac6b30.js +0 -111
- package/dist/esm/polyfills/core-js.js +0 -11
- package/dist/esm/polyfills/dom.js +0 -79
- package/dist/esm/polyfills/es5-html-element.js +0 -1
- package/dist/esm/polyfills/index.js +0 -34
- package/dist/esm/polyfills/system.js +0 -6
- package/dist/esm/sql-expr-mode-f10e5a43.js +0 -25132
- package/dist/types/utils/profile/predefined-profile.d.ts +0 -4
- package/dist/types/utils/sql-expr-monaco/DependentFiles/DateOnly.d.ts +0 -41
- package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlInterval.d.ts +0 -16
- package/dist/types/utils/sql-expr-monaco/DependentFiles/SqlTimestampOffset.d.ts +0 -26
- package/dist/types/utils/sql-expr-monaco/DependentFiles/TimeOnly.d.ts +0 -37
- package/dist/types/utils/sql-expr-monaco/DependentFiles/UnknownTimeZone.d.ts +0 -11
- package/dist/types/utils/sql-expr-monaco/DependentFiles/WhereGrammar.d.ts +0 -122
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlCompareUtils.d.ts +0 -5
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlDateParsingUtils.d.ts +0 -18
- package/dist/types/utils/sql-expr-monaco/DependentFiles/sqlUtils.d.ts +0 -6
- package/dist/types/utils/sql-expr-monaco/DependentFiles/standardizedFunctions.d.ts +0 -156
- package/dist/types/utils/sql-expr-monaco/DependentFiles/support.d.ts +0 -150
- package/dist/types/utils/sql-expr-monaco/PeggyGrammar/sql92grammar.d.ts +0 -1397
- package/dist/types/utils/sql-expr-monaco/libraries/date/properties/index.d.ts +0 -59
- package/dist/types/utils/sql-expr-monaco/libraries/numeric/properties/index.d.ts +0 -295
- package/dist/types/utils/sql-expr-monaco/libraries/string/properties/index.d.ts +0 -135
- package/dist/types/utils/sql-expr-monaco/sql-expr-validation-adapter.d.ts +0 -3
- package/dist/types/utils/sql-expr-profile/predefined-profile.d.ts +0 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.31
|
|
5
5
|
*/
|
|
6
|
-
import{
|
|
6
|
+
import{M as t}from"./p-416666a0.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,e=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o=(t,o,u,s)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let c of e(o))i.call(t,c)||c===u||n(t,c,{get:()=>o[c],enumerable:!(s=r(o,c))||s.enumerable});return t},u={};o(u,t,"default");var s,c,a,f,h,v,d,l,g,m,w,b,p,j,x,k,I,y,O,E,_,T,R,S,C,D,N,W,L,A,M,F,z,U,H,$,q,G,P,V,B,J,K,Q,X,Y,Z,tt,nt,rt=class{_defaults;_idleCheckInterval;_lastUsedTime;_configChangeListener;_worker;_client;constructor(t){this._defaults=t,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval((()=>this._checkIfIdle()),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker()))}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=u.editor.createWebWorker({moduleId:"vs/language/css/cssWorker",label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...t){let n;return this._getClient().then((t=>{n=t})).then((()=>{if(this._worker)return this._worker.withSyncedResources(t)})).then((()=>n))}};(c=s||(s={})).MIN_VALUE=-2147483648,c.MAX_VALUE=2147483647,(f=a||(a={})).MIN_VALUE=0,f.MAX_VALUE=2147483647,(v=h||(h={})).create=function(t,n){return t===Number.MAX_VALUE&&(t=a.MAX_VALUE),n===Number.MAX_VALUE&&(n=a.MAX_VALUE),{line:t,character:n}},v.is=function(t){var n=t;return rn.objectLiteral(n)&&rn.uinteger(n.line)&&rn.uinteger(n.character)},(l=d||(d={})).create=function(t,n,r,e){if(rn.uinteger(t)&&rn.uinteger(n)&&rn.uinteger(r)&&rn.uinteger(e))return{start:h.create(t,n),end:h.create(r,e)};if(h.is(t)&&h.is(n))return{start:t,end:n};throw new Error("Range#create called with invalid arguments["+t+", "+n+", "+r+", "+e+"]")},l.is=function(t){var n=t;return rn.objectLiteral(n)&&h.is(n.start)&&h.is(n.end)},(m=g||(g={})).create=function(t,n){return{uri:t,range:n}},m.is=function(t){var n=t;return rn.defined(n)&&d.is(n.range)&&(rn.string(n.uri)||rn.undefined(n.uri))},(b=w||(w={})).create=function(t,n,r,e){return{targetUri:t,targetRange:n,targetSelectionRange:r,originSelectionRange:e}},b.is=function(t){var n=t;return rn.defined(n)&&d.is(n.targetRange)&&rn.string(n.targetUri)&&(d.is(n.targetSelectionRange)||rn.undefined(n.targetSelectionRange))&&(d.is(n.originSelectionRange)||rn.undefined(n.originSelectionRange))},(j=p||(p={})).create=function(t,n,r,e){return{red:t,green:n,blue:r,alpha:e}},j.is=function(t){var n=t;return rn.numberRange(n.red,0,1)&&rn.numberRange(n.green,0,1)&&rn.numberRange(n.blue,0,1)&&rn.numberRange(n.alpha,0,1)},(k=x||(x={})).create=function(t,n){return{range:t,color:n}},k.is=function(t){var n=t;return d.is(n.range)&&p.is(n.color)},(y=I||(I={})).create=function(t,n,r){return{label:t,textEdit:n,additionalTextEdits:r}},y.is=function(t){var n=t;return rn.string(n.label)&&(rn.undefined(n.textEdit)||U.is(n))&&(rn.undefined(n.additionalTextEdits)||rn.typedArray(n.additionalTextEdits,U.is))},(E=O||(O={})).Comment="comment",E.Imports="imports",E.Region="region",(T=_||(_={})).create=function(t,n,r,e,i){var o={startLine:t,endLine:n};return rn.defined(r)&&(o.startCharacter=r),rn.defined(e)&&(o.endCharacter=e),rn.defined(i)&&(o.kind=i),o},T.is=function(t){var n=t;return rn.uinteger(n.startLine)&&rn.uinteger(n.startLine)&&(rn.undefined(n.startCharacter)||rn.uinteger(n.startCharacter))&&(rn.undefined(n.endCharacter)||rn.uinteger(n.endCharacter))&&(rn.undefined(n.kind)||rn.string(n.kind))},(S=R||(R={})).create=function(t,n){return{location:t,message:n}},S.is=function(t){var n=t;return rn.defined(n)&&g.is(n.location)&&rn.string(n.message)},(D=C||(C={})).Error=1,D.Warning=2,D.Information=3,D.Hint=4,(W=N||(N={})).Unnecessary=1,W.Deprecated=2,(L||(L={})).is=function(t){return null!=t&&rn.string(t.href)},(M=A||(A={})).create=function(t,n,r,e,i,o){var u={range:t,message:n};return rn.defined(r)&&(u.severity=r),rn.defined(e)&&(u.code=e),rn.defined(i)&&(u.source=i),rn.defined(o)&&(u.relatedInformation=o),u},M.is=function(t){var n,r=t;return rn.defined(r)&&d.is(r.range)&&rn.string(r.message)&&(rn.number(r.severity)||rn.undefined(r.severity))&&(rn.integer(r.code)||rn.string(r.code)||rn.undefined(r.code))&&(rn.undefined(r.codeDescription)||rn.string(null===(n=r.codeDescription)||void 0===n?void 0:n.href))&&(rn.string(r.source)||rn.undefined(r.source))&&(rn.undefined(r.relatedInformation)||rn.typedArray(r.relatedInformation,R.is))},(z=F||(F={})).create=function(t,n){for(var r=[],e=2;e<arguments.length;e++)r[e-2]=arguments[e];var i={title:t,command:n};return rn.defined(r)&&r.length>0&&(i.arguments=r),i},z.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.title)&&rn.string(n.command)},(H=U||(U={})).replace=function(t,n){return{range:t,newText:n}},H.insert=function(t,n){return{range:{start:t,end:t},newText:n}},H.del=function(t){return{range:t,newText:""}},H.is=function(t){var n=t;return rn.objectLiteral(n)&&rn.string(n.newText)&&d.is(n.range)},(q=$||($={})).create=function(t,n,r){var e={label:t};return void 0!==n&&(e.needsConfirmation=n),void 0!==r&&(e.description=r),e},q.is=function(t){var n=t;return void 0!==n&&rn.objectLiteral(n)&&rn.string(n.label)&&(rn.boolean(n.needsConfirmation)||void 0===n.needsConfirmation)&&(rn.string(n.description)||void 0===n.description)},(G||(G={})).is=function(t){return"string"==typeof t},(V=P||(P={})).replace=function(t,n,r){return{range:t,newText:n,annotationId:r}},V.insert=function(t,n,r){return{range:{start:t,end:t},newText:n,annotationId:r}},V.del=function(t,n){return{range:t,newText:"",annotationId:n}},V.is=function(t){var n=t;return U.is(n)&&($.is(n.annotationId)||G.is(n.annotationId))},(J=B||(B={})).create=function(t,n){return{textDocument:t,edits:n}},J.is=function(t){var n=t;return rn.defined(n)&&st.is(n.textDocument)&&Array.isArray(n.edits)},(Q=K||(K={})).create=function(t,n,r){var e={kind:"create",uri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(e.options=n),void 0!==r&&(e.annotationId=r),e},Q.is=function(t){var n=t;return n&&"create"===n.kind&&rn.string(n.uri)&&(void 0===n.options||(void 0===n.options.overwrite||rn.boolean(n.options.overwrite))&&(void 0===n.options.ignoreIfExists||rn.boolean(n.options.ignoreIfExists)))&&(void 0===n.annotationId||G.is(n.annotationId))},(Y=X||(X={})).create=function(t,n,r,e){var i={kind:"rename",oldUri:t,newUri:n};return void 0===r||void 0===r.overwrite&&void 0===r.ignoreIfExists||(i.options=r),void 0!==e&&(i.annotationId=e),i},Y.is=function(t){var n=t;return n&&"rename"===n.kind&&rn.string(n.oldUri)&&rn.string(n.newUri)&&(void 0===n.options||(void 0===n.options.overwrite||rn.boolean(n.options.overwrite))&&(void 0===n.options.ignoreIfExists||rn.boolean(n.options.ignoreIfExists)))&&(void 0===n.annotationId||G.is(n.annotationId))},(tt=Z||(Z={})).create=function(t,n,r){var e={kind:"delete",uri:t};return void 0===n||void 0===n.recursive&&void 0===n.ignoreIfNotExists||(e.options=n),void 0!==r&&(e.annotationId=r),e},tt.is=function(t){var n=t;return n&&"delete"===n.kind&&rn.string(n.uri)&&(void 0===n.options||(void 0===n.options.recursive||rn.boolean(n.options.recursive))&&(void 0===n.options.ignoreIfNotExists||rn.boolean(n.options.ignoreIfNotExists)))&&(void 0===n.annotationId||G.is(n.annotationId))},(nt||(nt={})).is=function(t){return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(t){return rn.string(t.kind)?K.is(t)||X.is(t)||Z.is(t):B.is(t)})))};var et,it,ot,ut,st,ct,at,ft,ht,vt,dt,lt,gt,mt,wt,bt,pt,jt,xt,kt,It,yt,Ot,Et,_t,Tt,Rt,St,Ct,Dt,Nt,Wt,Lt,At,Mt,Ft,zt,Ut,Ht,$t,qt,Gt,Pt,Vt,Bt,Jt,Kt,Qt,Xt,Yt,Zt,tn=function(){function t(t,n){this.edits=t,this.changeAnnotations=n}return t.prototype.insert=function(t,n,r){var e,i;if(void 0===r?e=U.insert(t,n):G.is(r)?(i=r,e=P.insert(t,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),e=P.insert(t,n,i)),this.edits.push(e),void 0!==i)return i},t.prototype.replace=function(t,n,r){var e,i;if(void 0===r?e=U.replace(t,n):G.is(r)?(i=r,e=P.replace(t,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),e=P.replace(t,n,i)),this.edits.push(e),void 0!==i)return i},t.prototype.delete=function(t,n){var r,e;if(void 0===n?r=U.del(t):G.is(n)?(e=n,r=P.del(t,n)):(this.assertChangeAnnotations(this.changeAnnotations),e=this.changeAnnotations.manage(n),r=P.del(t,e)),this.edits.push(r),void 0!==e)return e},t.prototype.add=function(t){this.edits.push(t)},t.prototype.all=function(){return this.edits},t.prototype.clear=function(){this.edits.splice(0,this.edits.length)},t.prototype.assertChangeAnnotations=function(t){if(void 0===t)throw new Error("Text edit change is not configured to manage change annotations.")},t}(),nn=function(){function t(t){this._annotations=void 0===t?Object.create(null):t,this._counter=0,this._size=0}return t.prototype.all=function(){return this._annotations},Object.defineProperty(t.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),t.prototype.manage=function(t,n){var r;if(G.is(t)?r=t:(r=this.nextId(),n=t),void 0!==this._annotations[r])throw new Error("Id "+r+" is already in use.");if(void 0===n)throw new Error("No annotation provided for id "+r);return this._annotations[r]=n,this._size++,r},t.prototype.nextId=function(){return this._counter++,this._counter.toString()},t}();!function(){function t(t){var n=this;this._textEditChanges=Object.create(null),void 0!==t?(this._workspaceEdit=t,t.documentChanges?(this._changeAnnotations=new nn(t.changeAnnotations),t.changeAnnotations=this._changeAnnotations.all(),t.documentChanges.forEach((function(t){if(B.is(t)){var r=new tn(t.edits,n._changeAnnotations);n._textEditChanges[t.textDocument.uri]=r}}))):t.changes&&Object.keys(t.changes).forEach((function(r){var e=new tn(t.changes[r]);n._textEditChanges[r]=e}))):this._workspaceEdit={}}Object.defineProperty(t.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(this._workspaceEdit.changeAnnotations=0===this._changeAnnotations.size?void 0:this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),t.prototype.getTextEditChange=function(t){if(st.is(t)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var n={uri:t.uri,version:t.version};return(r=this._textEditChanges[n.uri])||(this._workspaceEdit.documentChanges.push({textDocument:n,edits:e=[]}),r=new tn(e,this._changeAnnotations),this._textEditChanges[n.uri]=r),r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r,e;return(r=this._textEditChanges[t])||(this._workspaceEdit.changes[t]=e=[],r=new tn(e),this._textEditChanges[t]=r),r},t.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new nn,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},t.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},t.prototype.createFile=function(t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e,i,o;if($.is(n)||G.is(n)?e=n:r=n,void 0===e?i=K.create(t,r):(o=G.is(e)?e:this._changeAnnotations.manage(e),i=K.create(t,r,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},t.prototype.renameFile=function(t,n,r,e){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,u;if($.is(r)||G.is(r)?i=r:e=r,void 0===i?o=X.create(t,n,e):(u=G.is(i)?i:this._changeAnnotations.manage(i),o=X.create(t,n,e,u)),this._workspaceEdit.documentChanges.push(o),void 0!==u)return u},t.prototype.deleteFile=function(t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e,i,o;if($.is(n)||G.is(n)?e=n:r=n,void 0===e?i=Z.create(t,r):(o=G.is(e)?e:this._changeAnnotations.manage(e),i=Z.create(t,r,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o}}(),(it=et||(et={})).create=function(t){return{uri:t}},it.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)},(ut=ot||(ot={})).create=function(t,n){return{uri:t,version:n}},ut.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&rn.integer(n.version)},(ct=st||(st={})).create=function(t,n){return{uri:t,version:n}},ct.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&(null===n.version||rn.integer(n.version))},(ft=at||(at={})).create=function(t,n,r,e){return{uri:t,languageId:n,version:r,text:e}},ft.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&rn.string(n.languageId)&&rn.integer(n.version)&&rn.string(n.text)},(vt=ht||(ht={})).PlainText="plaintext",vt.Markdown="markdown",function(t){t.is=function(n){return n===t.PlainText||n===t.Markdown}}(ht||(ht={})),(dt||(dt={})).is=function(t){var n=t;return rn.objectLiteral(t)&&ht.is(n.kind)&&rn.string(n.value)},(gt=lt||(lt={})).Text=1,gt.Method=2,gt.Function=3,gt.Constructor=4,gt.Field=5,gt.Variable=6,gt.Class=7,gt.Interface=8,gt.Module=9,gt.Property=10,gt.Unit=11,gt.Value=12,gt.Enum=13,gt.Keyword=14,gt.Snippet=15,gt.Color=16,gt.File=17,gt.Reference=18,gt.Folder=19,gt.EnumMember=20,gt.Constant=21,gt.Struct=22,gt.Event=23,gt.Operator=24,gt.TypeParameter=25,(wt=mt||(mt={})).PlainText=1,wt.Snippet=2,(bt||(bt={})).Deprecated=1,(jt=pt||(pt={})).create=function(t,n,r){return{newText:t,insert:n,replace:r}},jt.is=function(t){var n=t;return n&&rn.string(n.newText)&&d.is(n.insert)&&d.is(n.replace)},(kt=xt||(xt={})).asIs=1,kt.adjustIndentation=2,(It||(It={})).create=function(t){return{label:t}},(yt||(yt={})).create=function(t,n){return{items:t||[],isIncomplete:!!n}},(Et=Ot||(Ot={})).fromPlainText=function(t){return t.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},Et.is=function(t){var n=t;return rn.string(n)||rn.objectLiteral(n)&&rn.string(n.language)&&rn.string(n.value)},(_t||(_t={})).is=function(t){var n=t;return!!n&&rn.objectLiteral(n)&&(dt.is(n.contents)||Ot.is(n.contents)||rn.typedArray(n.contents,Ot.is))&&(void 0===t.range||d.is(t.range))},(Tt||(Tt={})).create=function(t,n){return n?{label:t,documentation:n}:{label:t}},(Rt||(Rt={})).create=function(t,n){for(var r=[],e=2;e<arguments.length;e++)r[e-2]=arguments[e];var i={label:t};return rn.defined(n)&&(i.documentation=n),i.parameters=rn.defined(r)?r:[],i},(Ct=St||(St={})).Text=1,Ct.Read=2,Ct.Write=3,(Dt||(Dt={})).create=function(t,n){var r={range:t};return rn.number(n)&&(r.kind=n),r},(Wt=Nt||(Nt={})).File=1,Wt.Module=2,Wt.Namespace=3,Wt.Package=4,Wt.Class=5,Wt.Method=6,Wt.Property=7,Wt.Field=8,Wt.Constructor=9,Wt.Enum=10,Wt.Interface=11,Wt.Function=12,Wt.Variable=13,Wt.Constant=14,Wt.String=15,Wt.Number=16,Wt.Boolean=17,Wt.Array=18,Wt.Object=19,Wt.Key=20,Wt.Null=21,Wt.EnumMember=22,Wt.Struct=23,Wt.Event=24,Wt.Operator=25,Wt.TypeParameter=26,(Lt||(Lt={})).Deprecated=1,(At||(At={})).create=function(t,n,r,e,i){var o={name:t,kind:n,location:{uri:e,range:r}};return i&&(o.containerName=i),o},(Ft=Mt||(Mt={})).create=function(t,n,r,e,i,o){var u={name:t,detail:n,kind:r,range:e,selectionRange:i};return void 0!==o&&(u.children=o),u},Ft.is=function(t){var n=t;return n&&rn.string(n.name)&&rn.number(n.kind)&&d.is(n.range)&&d.is(n.selectionRange)&&(void 0===n.detail||rn.string(n.detail))&&(void 0===n.deprecated||rn.boolean(n.deprecated))&&(void 0===n.children||Array.isArray(n.children))&&(void 0===n.tags||Array.isArray(n.tags))},(Ut=zt||(zt={})).Empty="",Ut.QuickFix="quickfix",Ut.Refactor="refactor",Ut.RefactorExtract="refactor.extract",Ut.RefactorInline="refactor.inline",Ut.RefactorRewrite="refactor.rewrite",Ut.Source="source",Ut.SourceOrganizeImports="source.organizeImports",Ut.SourceFixAll="source.fixAll",($t=Ht||(Ht={})).create=function(t,n){var r={diagnostics:t};return null!=n&&(r.only=n),r},$t.is=function(t){var n=t;return rn.defined(n)&&rn.typedArray(n.diagnostics,A.is)&&(void 0===n.only||rn.typedArray(n.only,rn.string))},(Gt=qt||(qt={})).create=function(t,n,r){var e={title:t},i=!0;return"string"==typeof n?(i=!1,e.kind=n):F.is(n)?e.command=n:e.edit=n,i&&void 0!==r&&(e.kind=r),e},Gt.is=function(t){var n=t;return n&&rn.string(n.title)&&(void 0===n.diagnostics||rn.typedArray(n.diagnostics,A.is))&&(void 0===n.kind||rn.string(n.kind))&&(void 0!==n.edit||void 0!==n.command)&&(void 0===n.command||F.is(n.command))&&(void 0===n.isPreferred||rn.boolean(n.isPreferred))&&(void 0===n.edit||nt.is(n.edit))},(Vt=Pt||(Pt={})).create=function(t,n){var r={range:t};return rn.defined(n)&&(r.data=n),r},Vt.is=function(t){var n=t;return rn.defined(n)&&d.is(n.range)&&(rn.undefined(n.command)||F.is(n.command))},(Jt=Bt||(Bt={})).create=function(t,n){return{tabSize:t,insertSpaces:n}},Jt.is=function(t){var n=t;return rn.defined(n)&&rn.uinteger(n.tabSize)&&rn.boolean(n.insertSpaces)},(Qt=Kt||(Kt={})).create=function(t,n,r){return{range:t,target:n,data:r}},Qt.is=function(t){var n=t;return rn.defined(n)&&d.is(n.range)&&(rn.undefined(n.target)||rn.string(n.target))},(Yt=Xt||(Xt={})).create=function(t,n){return{range:t,parent:n}},Yt.is=function(t){var n=t;return void 0!==n&&d.is(n.range)&&(void 0===n.parent||Yt.is(n.parent))},function(t){function n(t,r){if(t.length<=1)return t;var e=t.length/2|0,i=t.slice(0,e),o=t.slice(e);n(i,r),n(o,r);for(var u=0,s=0,c=0;u<i.length&&s<o.length;){var a=r(i[u],o[s]);t[c++]=a<=0?i[u++]:o[s++]}for(;u<i.length;)t[c++]=i[u++];for(;s<o.length;)t[c++]=o[s++];return t}t.create=function(t,n,r,e){return new un(t,n,r,e)},t.is=function(t){var n=t;return!!(rn.defined(n)&&rn.string(n.uri)&&(rn.undefined(n.languageId)||rn.string(n.languageId))&&rn.uinteger(n.lineCount)&&rn.func(n.getText)&&rn.func(n.positionAt)&&rn.func(n.offsetAt))},t.applyEdits=function(t,r){for(var e=t.getText(),i=n(r,(function(t,n){var r=t.range.start.line-n.range.start.line;return 0===r?t.range.start.character-n.range.start.character:r})),o=e.length,u=i.length-1;u>=0;u--){var s=i[u],c=t.offsetAt(s.range.start),a=t.offsetAt(s.range.end);if(!(a<=o))throw new Error("Overlapping edit");e=e.substring(0,c)+s.newText+e.substring(a,e.length),o=c}return e}}(Zt||(Zt={}));var rn,en,on,un=function(){function t(t,n,r,e){this._uri=t,this._languageId=n,this._version=r,this._content=e,this._lineOffsets=void 0}return Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),t.prototype.getText=function(t){if(t){var n=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(n,r)}return this._content},t.prototype.update=function(t,n){this._content=t.text,this._version=n,this._lineOffsets=void 0},t.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var t=[],n=this._content,r=!0,e=0;e<n.length;e++){r&&(t.push(e),r=!1);var i=n.charAt(e);r="\r"===i||"\n"===i,"\r"===i&&e+1<n.length&&"\n"===n.charAt(e+1)&&e++}r&&n.length>0&&t.push(n.length),this._lineOffsets=t}return this._lineOffsets},t.prototype.positionAt=function(t){t=Math.max(Math.min(t,this._content.length),0);var n=this.getLineOffsets(),r=0,e=n.length;if(0===e)return h.create(0,t);for(;r<e;){var i=Math.floor((r+e)/2);n[i]>t?e=i:r=i+1}var o=r-1;return h.create(o,t-n[o])},t.prototype.offsetAt=function(t){var n=this.getLineOffsets();if(t.line>=n.length)return this._content.length;if(t.line<0)return 0;var r=n[t.line];return Math.max(Math.min(r+t.character,t.line+1<n.length?n[t.line+1]:this._content.length),r)},Object.defineProperty(t.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),t}();en=rn||(rn={}),on=Object.prototype.toString,en.defined=function(t){return void 0!==t},en.undefined=function(t){return void 0===t},en.boolean=function(t){return!0===t||!1===t},en.string=function(t){return"[object String]"===on.call(t)},en.number=function(t){return"[object Number]"===on.call(t)},en.numberRange=function(t,n,r){return"[object Number]"===on.call(t)&&n<=t&&t<=r},en.integer=function(t){return"[object Number]"===on.call(t)&&-2147483648<=t&&t<=2147483647},en.uinteger=function(t){return"[object Number]"===on.call(t)&&0<=t&&t<=2147483647},en.func=function(t){return"[object Function]"===on.call(t)},en.objectLiteral=function(t){return null!==t&&"object"==typeof t},en.typedArray=function(t,n){return Array.isArray(t)&&t.every(n)};var sn=class{constructor(t,n,r){this._languageId=t,this._worker=n;const e=t=>{let n,r=t.getLanguageId();r===this._languageId&&(this._listener[t.uri.toString()]=t.onDidChangeContent((()=>{window.clearTimeout(n),n=window.setTimeout((()=>this._doValidate(t.uri,r)),500)})),this._doValidate(t.uri,r))},i=t=>{u.editor.setModelMarkers(t,this._languageId,[]);let n=t.uri.toString(),r=this._listener[n];r&&(r.dispose(),delete this._listener[n])};this._disposables.push(u.editor.onDidCreateModel(e)),this._disposables.push(u.editor.onWillDisposeModel(i)),this._disposables.push(u.editor.onDidChangeModelLanguage((t=>{i(t.model),e(t.model)}))),this._disposables.push(r((()=>{u.editor.getModels().forEach((t=>{t.getLanguageId()===this._languageId&&(i(t),e(t))}))}))),this._disposables.push({dispose:()=>{u.editor.getModels().forEach(i);for(let t in this._listener)this._listener[t].dispose()}}),u.editor.getModels().forEach(e)}_disposables=[];_listener=Object.create(null);dispose(){this._disposables.forEach((t=>t&&t.dispose())),this._disposables.length=0}_doValidate(t,n){this._worker(t).then((n=>n.doValidation(t.toString()))).then((r=>{const e=r.map((t=>function(t,n){let r="number"==typeof n.code?String(n.code):n.code;return{severity:cn(n.severity),startLineNumber:n.range.start.line+1,startColumn:n.range.start.character+1,endLineNumber:n.range.end.line+1,endColumn:n.range.end.character+1,message:n.message,code:r,source:n.source}}(0,t)));let i=u.editor.getModel(t);i&&i.getLanguageId()===n&&u.editor.setModelMarkers(i,n,e)})).then(void 0,(t=>{console.error(t)}))}};function cn(t){switch(t){case C.Error:return u.MarkerSeverity.Error;case C.Warning:return u.MarkerSeverity.Warning;case C.Information:return u.MarkerSeverity.Info;case C.Hint:return u.MarkerSeverity.Hint;default:return u.MarkerSeverity.Info}}var an=class{constructor(t,n){this._worker=t,this._triggerCharacters=n}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.doComplete(i.toString(),fn(n)))).then((r=>{if(!r)return;const e=t.getWordUntilPosition(n),i=new u.Range(n.lineNumber,e.startColumn,n.lineNumber,e.endColumn),o=r.items.map((t=>{const n={label:t.label,insertText:t.insertText||t.label,sortText:t.sortText,filterText:t.filterText,documentation:t.documentation,detail:t.detail,command:(r=t.command,r&&"editor.action.triggerSuggest"===r.command?{id:r.command,title:r.title,arguments:r.arguments}:void 0),range:i,kind:dn(t.kind)};var r,e;return t.textEdit&&(n.range=void 0!==(e=t.textEdit).insert&&void 0!==e.replace?{insert:vn(t.textEdit.insert),replace:vn(t.textEdit.replace)}:vn(t.textEdit.range),n.insertText=t.textEdit.newText),t.additionalTextEdits&&(n.additionalTextEdits=t.additionalTextEdits.map(ln)),t.insertTextFormat===mt.Snippet&&(n.insertTextRules=u.languages.CompletionItemInsertTextRule.InsertAsSnippet),n}));return{isIncomplete:r.isIncomplete,suggestions:o}}))}};function fn(t){if(t)return{character:t.column-1,line:t.lineNumber-1}}function hn(t){if(t)return{start:{line:t.startLineNumber-1,character:t.startColumn-1},end:{line:t.endLineNumber-1,character:t.endColumn-1}}}function vn(t){if(t)return new u.Range(t.start.line+1,t.start.character+1,t.end.line+1,t.end.character+1)}function dn(t){const n=u.languages.CompletionItemKind;switch(t){case lt.Text:return n.Text;case lt.Method:return n.Method;case lt.Function:return n.Function;case lt.Constructor:return n.Constructor;case lt.Field:return n.Field;case lt.Variable:return n.Variable;case lt.Class:return n.Class;case lt.Interface:return n.Interface;case lt.Module:return n.Module;case lt.Property:return n.Property;case lt.Unit:return n.Unit;case lt.Value:return n.Value;case lt.Enum:return n.Enum;case lt.Keyword:return n.Keyword;case lt.Snippet:return n.Snippet;case lt.Color:return n.Color;case lt.File:return n.File;case lt.Reference:return n.Reference}return n.Property}function ln(t){if(t)return{range:vn(t.range),text:t.newText}}var gn=class{constructor(t){this._worker=t}provideHover(t,n,r){let e=t.uri;return this._worker(e).then((t=>t.doHover(e.toString(),fn(n)))).then((t=>{if(t)return{range:vn(t.range),contents:wn(t.contents)}}))}};function mn(t){return"string"==typeof t?{value:t}:(n=t)&&"object"==typeof n&&"string"==typeof n.kind?"plaintext"===t.kind?{value:t.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:t.value}:{value:"```"+t.language+"\n"+t.value+"\n```\n"};var n}function wn(t){if(t)return Array.isArray(t)?t.map(mn):[mn(t)]}var bn=class{constructor(t){this._worker=t}provideDocumentHighlights(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.findDocumentHighlights(e.toString(),fn(n)))).then((t=>{if(t)return t.map((t=>({range:vn(t.range),kind:pn(t.kind)})))}))}};function pn(t){switch(t){case St.Read:return u.languages.DocumentHighlightKind.Read;case St.Write:return u.languages.DocumentHighlightKind.Write;case St.Text:return u.languages.DocumentHighlightKind.Text}return u.languages.DocumentHighlightKind.Text}var jn=class{constructor(t){this._worker=t}provideDefinition(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.findDefinition(e.toString(),fn(n)))).then((t=>{if(t)return[xn(t)]}))}};function xn(t){return{uri:u.Uri.parse(t.uri),range:vn(t.range)}}var kn=class{constructor(t){this._worker=t}provideReferences(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.findReferences(i.toString(),fn(n)))).then((t=>{if(t)return t.map(xn)}))}},In=class{constructor(t){this._worker=t}provideRenameEdits(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.doRename(i.toString(),fn(n),r))).then((t=>function(t){if(!t||!t.changes)return;let n=[];for(let r in t.changes){const e=u.Uri.parse(r);for(let i of t.changes[r])n.push({resource:e,versionId:void 0,textEdit:{range:vn(i.range),text:i.newText}})}return{edits:n}}(t)))}},yn=class{constructor(t){this._worker=t}provideDocumentSymbols(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentSymbols(r.toString()))).then((t=>{if(t)return t.map((t=>({name:t.name,detail:"",containerName:t.containerName,kind:On(t.kind),range:vn(t.location.range),selectionRange:vn(t.location.range),tags:[]})))}))}};function On(t){let n=u.languages.SymbolKind;switch(t){case Nt.File:return n.Array;case Nt.Module:return n.Module;case Nt.Namespace:return n.Namespace;case Nt.Package:return n.Package;case Nt.Class:return n.Class;case Nt.Method:return n.Method;case Nt.Property:return n.Property;case Nt.Field:return n.Field;case Nt.Constructor:return n.Constructor;case Nt.Enum:return n.Enum;case Nt.Interface:return n.Interface;case Nt.Function:return n.Function;case Nt.Variable:return n.Variable;case Nt.Constant:return n.Constant;case Nt.String:return n.String;case Nt.Number:return n.Number;case Nt.Boolean:return n.Boolean;case Nt.Array:return n.Array}return n.Function}var En=class{constructor(t){this._worker=t}provideLinks(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentLinks(r.toString()))).then((t=>{if(t)return{links:t.map((t=>({range:vn(t.range),url:t.target})))}}))}},_n=class{constructor(t){this._worker=t}provideDocumentFormattingEdits(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.format(e.toString(),null,Rn(n)).then((t=>{if(t&&0!==t.length)return t.map(ln)}))))}},Tn=class{constructor(t){this._worker=t}canFormatMultipleRanges=!1;provideDocumentRangeFormattingEdits(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.format(i.toString(),hn(n),Rn(r)).then((t=>{if(t&&0!==t.length)return t.map(ln)}))))}};function Rn(t){return{tabSize:t.tabSize,insertSpaces:t.insertSpaces}}var Sn=class{constructor(t){this._worker=t}provideDocumentColors(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentColors(r.toString()))).then((t=>{if(t)return t.map((t=>({color:t.color,range:vn(t.range)})))}))}provideColorPresentations(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getColorPresentations(e.toString(),n.color,hn(n.range)))).then((t=>{if(t)return t.map((t=>{let n={label:t.label};return t.textEdit&&(n.textEdit=ln(t.textEdit)),t.additionalTextEdits&&(n.additionalTextEdits=t.additionalTextEdits.map(ln)),n}))}))}},Cn=class{constructor(t){this._worker=t}provideFoldingRanges(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getFoldingRanges(e.toString(),n))).then((t=>{if(t)return t.map((t=>{const n={start:t.startLine+1,end:t.endLine+1};return void 0!==t.kind&&(n.kind=function(t){switch(t){case O.Comment:return u.languages.FoldingRangeKind.Comment;case O.Imports:return u.languages.FoldingRangeKind.Imports;case O.Region:return u.languages.FoldingRangeKind.Region}}(t.kind)),n}))}))}},Dn=class{constructor(t){this._worker=t}provideSelectionRanges(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getSelectionRanges(e.toString(),n.map(fn)))).then((t=>{if(t)return t.map((t=>{const n=[];for(;t;)n.push({range:vn(t.range)}),t=t.parent;return n}))}))}};function Nn(t){const n=[],r=[],e=new rt(t);n.push(e);const i=(...t)=>e.getLanguageServiceWorker(...t);return function(){const{languageId:n,modeConfiguration:e}=t;Ln(r),e.completionItems&&r.push(u.languages.registerCompletionItemProvider(n,new an(i,["/","-",":"]))),e.hovers&&r.push(u.languages.registerHoverProvider(n,new gn(i))),e.documentHighlights&&r.push(u.languages.registerDocumentHighlightProvider(n,new bn(i))),e.definitions&&r.push(u.languages.registerDefinitionProvider(n,new jn(i))),e.references&&r.push(u.languages.registerReferenceProvider(n,new kn(i))),e.documentSymbols&&r.push(u.languages.registerDocumentSymbolProvider(n,new yn(i))),e.rename&&r.push(u.languages.registerRenameProvider(n,new In(i))),e.colors&&r.push(u.languages.registerColorProvider(n,new Sn(i))),e.foldingRanges&&r.push(u.languages.registerFoldingRangeProvider(n,new Cn(i))),e.diagnostics&&r.push(new sn(n,i,t.onDidChange)),e.selectionRanges&&r.push(u.languages.registerSelectionRangeProvider(n,new Dn(i))),e.documentFormattingEdits&&r.push(u.languages.registerDocumentFormattingEditProvider(n,new _n(i))),e.documentRangeFormattingEdits&&r.push(u.languages.registerDocumentRangeFormattingEditProvider(n,new Tn(i)))}(),n.push(Wn(r)),Wn(n)}function Wn(t){return{dispose:()=>Ln(t)}}function Ln(t){for(;t.length;)t.pop().dispose()}export{an as CompletionAdapter,jn as DefinitionAdapter,sn as DiagnosticsAdapter,Sn as DocumentColorAdapter,_n as DocumentFormattingEditProvider,bn as DocumentHighlightAdapter,En as DocumentLinkAdapter,Tn as DocumentRangeFormattingEditProvider,yn as DocumentSymbolAdapter,Cn as FoldingRangeAdapter,gn as HoverAdapter,kn as ReferenceAdapter,In as RenameAdapter,Dn as SelectionRangeAdapter,rt as WorkerManager,fn as fromPosition,hn as fromRange,Nn as setupMode,vn as toRange,ln as toTextEdit}
|
|
12
|
+
*-----------------------------------------------------------------------------*/var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,e=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,o=(t,o,u,s)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let c of e(o))i.call(t,c)||c===u||n(t,c,{get:()=>o[c],enumerable:!(s=r(o,c))||s.enumerable});return t},u={};o(u,t,"default");var s,c,a,f,h,v,d,l,g,m,w,b,p,j,x,k,I,y,O,E,_,T,R,S,C,D,N,W,L,M,A,F,z,U,H,$,q,P,V,B,G,J,K,Q,X,Y,Z,tt,nt,rt=class{_defaults;_idleCheckInterval;_lastUsedTime;_configChangeListener;_worker;_client;constructor(t){this._defaults=t,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval((()=>this._checkIfIdle()),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange((()=>this._stopWorker()))}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>12e4&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||(this._worker=u.editor.createWebWorker({moduleId:"vs/language/css/cssWorker",label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._client=this._worker.getProxy()),this._client}getLanguageServiceWorker(...t){let n;return this._getClient().then((t=>{n=t})).then((()=>{if(this._worker)return this._worker.withSyncedResources(t)})).then((()=>n))}};(c=s||(s={})).MIN_VALUE=-2147483648,c.MAX_VALUE=2147483647,(f=a||(a={})).MIN_VALUE=0,f.MAX_VALUE=2147483647,(v=h||(h={})).create=function(t,n){return t===Number.MAX_VALUE&&(t=a.MAX_VALUE),n===Number.MAX_VALUE&&(n=a.MAX_VALUE),{line:t,character:n}},v.is=function(t){var n=t;return rn.objectLiteral(n)&&rn.uinteger(n.line)&&rn.uinteger(n.character)},(l=d||(d={})).create=function(t,n,r,e){if(rn.uinteger(t)&&rn.uinteger(n)&&rn.uinteger(r)&&rn.uinteger(e))return{start:h.create(t,n),end:h.create(r,e)};if(h.is(t)&&h.is(n))return{start:t,end:n};throw new Error("Range#create called with invalid arguments["+t+", "+n+", "+r+", "+e+"]")},l.is=function(t){var n=t;return rn.objectLiteral(n)&&h.is(n.start)&&h.is(n.end)},(m=g||(g={})).create=function(t,n){return{uri:t,range:n}},m.is=function(t){var n=t;return rn.defined(n)&&d.is(n.range)&&(rn.string(n.uri)||rn.undefined(n.uri))},(b=w||(w={})).create=function(t,n,r,e){return{targetUri:t,targetRange:n,targetSelectionRange:r,originSelectionRange:e}},b.is=function(t){var n=t;return rn.defined(n)&&d.is(n.targetRange)&&rn.string(n.targetUri)&&(d.is(n.targetSelectionRange)||rn.undefined(n.targetSelectionRange))&&(d.is(n.originSelectionRange)||rn.undefined(n.originSelectionRange))},(j=p||(p={})).create=function(t,n,r,e){return{red:t,green:n,blue:r,alpha:e}},j.is=function(t){var n=t;return rn.numberRange(n.red,0,1)&&rn.numberRange(n.green,0,1)&&rn.numberRange(n.blue,0,1)&&rn.numberRange(n.alpha,0,1)},(k=x||(x={})).create=function(t,n){return{range:t,color:n}},k.is=function(t){var n=t;return d.is(n.range)&&p.is(n.color)},(y=I||(I={})).create=function(t,n,r){return{label:t,textEdit:n,additionalTextEdits:r}},y.is=function(t){var n=t;return rn.string(n.label)&&(rn.undefined(n.textEdit)||U.is(n))&&(rn.undefined(n.additionalTextEdits)||rn.typedArray(n.additionalTextEdits,U.is))},(E=O||(O={})).Comment="comment",E.Imports="imports",E.Region="region",(T=_||(_={})).create=function(t,n,r,e,i){var o={startLine:t,endLine:n};return rn.defined(r)&&(o.startCharacter=r),rn.defined(e)&&(o.endCharacter=e),rn.defined(i)&&(o.kind=i),o},T.is=function(t){var n=t;return rn.uinteger(n.startLine)&&rn.uinteger(n.startLine)&&(rn.undefined(n.startCharacter)||rn.uinteger(n.startCharacter))&&(rn.undefined(n.endCharacter)||rn.uinteger(n.endCharacter))&&(rn.undefined(n.kind)||rn.string(n.kind))},(S=R||(R={})).create=function(t,n){return{location:t,message:n}},S.is=function(t){var n=t;return rn.defined(n)&&g.is(n.location)&&rn.string(n.message)},(D=C||(C={})).Error=1,D.Warning=2,D.Information=3,D.Hint=4,(W=N||(N={})).Unnecessary=1,W.Deprecated=2,(L||(L={})).is=function(t){return null!=t&&rn.string(t.href)},(A=M||(M={})).create=function(t,n,r,e,i,o){var u={range:t,message:n};return rn.defined(r)&&(u.severity=r),rn.defined(e)&&(u.code=e),rn.defined(i)&&(u.source=i),rn.defined(o)&&(u.relatedInformation=o),u},A.is=function(t){var n,r=t;return rn.defined(r)&&d.is(r.range)&&rn.string(r.message)&&(rn.number(r.severity)||rn.undefined(r.severity))&&(rn.integer(r.code)||rn.string(r.code)||rn.undefined(r.code))&&(rn.undefined(r.codeDescription)||rn.string(null===(n=r.codeDescription)||void 0===n?void 0:n.href))&&(rn.string(r.source)||rn.undefined(r.source))&&(rn.undefined(r.relatedInformation)||rn.typedArray(r.relatedInformation,R.is))},(z=F||(F={})).create=function(t,n){for(var r=[],e=2;e<arguments.length;e++)r[e-2]=arguments[e];var i={title:t,command:n};return rn.defined(r)&&r.length>0&&(i.arguments=r),i},z.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.title)&&rn.string(n.command)},(H=U||(U={})).replace=function(t,n){return{range:t,newText:n}},H.insert=function(t,n){return{range:{start:t,end:t},newText:n}},H.del=function(t){return{range:t,newText:""}},H.is=function(t){var n=t;return rn.objectLiteral(n)&&rn.string(n.newText)&&d.is(n.range)},(q=$||($={})).create=function(t,n,r){var e={label:t};return void 0!==n&&(e.needsConfirmation=n),void 0!==r&&(e.description=r),e},q.is=function(t){var n=t;return void 0!==n&&rn.objectLiteral(n)&&rn.string(n.label)&&(rn.boolean(n.needsConfirmation)||void 0===n.needsConfirmation)&&(rn.string(n.description)||void 0===n.description)},(P||(P={})).is=function(t){return"string"==typeof t},(B=V||(V={})).replace=function(t,n,r){return{range:t,newText:n,annotationId:r}},B.insert=function(t,n,r){return{range:{start:t,end:t},newText:n,annotationId:r}},B.del=function(t,n){return{range:t,newText:"",annotationId:n}},B.is=function(t){var n=t;return U.is(n)&&($.is(n.annotationId)||P.is(n.annotationId))},(J=G||(G={})).create=function(t,n){return{textDocument:t,edits:n}},J.is=function(t){var n=t;return rn.defined(n)&&st.is(n.textDocument)&&Array.isArray(n.edits)},(Q=K||(K={})).create=function(t,n,r){var e={kind:"create",uri:t};return void 0===n||void 0===n.overwrite&&void 0===n.ignoreIfExists||(e.options=n),void 0!==r&&(e.annotationId=r),e},Q.is=function(t){var n=t;return n&&"create"===n.kind&&rn.string(n.uri)&&(void 0===n.options||(void 0===n.options.overwrite||rn.boolean(n.options.overwrite))&&(void 0===n.options.ignoreIfExists||rn.boolean(n.options.ignoreIfExists)))&&(void 0===n.annotationId||P.is(n.annotationId))},(Y=X||(X={})).create=function(t,n,r,e){var i={kind:"rename",oldUri:t,newUri:n};return void 0===r||void 0===r.overwrite&&void 0===r.ignoreIfExists||(i.options=r),void 0!==e&&(i.annotationId=e),i},Y.is=function(t){var n=t;return n&&"rename"===n.kind&&rn.string(n.oldUri)&&rn.string(n.newUri)&&(void 0===n.options||(void 0===n.options.overwrite||rn.boolean(n.options.overwrite))&&(void 0===n.options.ignoreIfExists||rn.boolean(n.options.ignoreIfExists)))&&(void 0===n.annotationId||P.is(n.annotationId))},(tt=Z||(Z={})).create=function(t,n,r){var e={kind:"delete",uri:t};return void 0===n||void 0===n.recursive&&void 0===n.ignoreIfNotExists||(e.options=n),void 0!==r&&(e.annotationId=r),e},tt.is=function(t){var n=t;return n&&"delete"===n.kind&&rn.string(n.uri)&&(void 0===n.options||(void 0===n.options.recursive||rn.boolean(n.options.recursive))&&(void 0===n.options.ignoreIfNotExists||rn.boolean(n.options.ignoreIfNotExists)))&&(void 0===n.annotationId||P.is(n.annotationId))},(nt||(nt={})).is=function(t){return t&&(void 0!==t.changes||void 0!==t.documentChanges)&&(void 0===t.documentChanges||t.documentChanges.every((function(t){return rn.string(t.kind)?K.is(t)||X.is(t)||Z.is(t):G.is(t)})))};var et,it,ot,ut,st,ct,at,ft,ht,vt,dt,lt,gt,mt,wt,bt,pt,jt,xt,kt,It,yt,Ot,Et,_t,Tt,Rt,St,Ct,Dt,Nt,Wt,Lt,Mt,At,Ft,zt,Ut,Ht,$t,qt,Pt,Vt,Bt,Gt,Jt,Kt,Qt,Xt,Yt,Zt,tn=function(){function t(t,n){this.edits=t,this.changeAnnotations=n}return t.prototype.insert=function(t,n,r){var e,i;if(void 0===r?e=U.insert(t,n):P.is(r)?(i=r,e=V.insert(t,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),e=V.insert(t,n,i)),this.edits.push(e),void 0!==i)return i},t.prototype.replace=function(t,n,r){var e,i;if(void 0===r?e=U.replace(t,n):P.is(r)?(i=r,e=V.replace(t,n,r)):(this.assertChangeAnnotations(this.changeAnnotations),i=this.changeAnnotations.manage(r),e=V.replace(t,n,i)),this.edits.push(e),void 0!==i)return i},t.prototype.delete=function(t,n){var r,e;if(void 0===n?r=U.del(t):P.is(n)?(e=n,r=V.del(t,n)):(this.assertChangeAnnotations(this.changeAnnotations),e=this.changeAnnotations.manage(n),r=V.del(t,e)),this.edits.push(r),void 0!==e)return e},t.prototype.add=function(t){this.edits.push(t)},t.prototype.all=function(){return this.edits},t.prototype.clear=function(){this.edits.splice(0,this.edits.length)},t.prototype.assertChangeAnnotations=function(t){if(void 0===t)throw new Error("Text edit change is not configured to manage change annotations.")},t}(),nn=function(){function t(t){this._annotations=void 0===t?Object.create(null):t,this._counter=0,this._size=0}return t.prototype.all=function(){return this._annotations},Object.defineProperty(t.prototype,"size",{get:function(){return this._size},enumerable:!1,configurable:!0}),t.prototype.manage=function(t,n){var r;if(P.is(t)?r=t:(r=this.nextId(),n=t),void 0!==this._annotations[r])throw new Error("Id "+r+" is already in use.");if(void 0===n)throw new Error("No annotation provided for id "+r);return this._annotations[r]=n,this._size++,r},t.prototype.nextId=function(){return this._counter++,this._counter.toString()},t}();!function(){function t(t){var n=this;this._textEditChanges=Object.create(null),void 0!==t?(this._workspaceEdit=t,t.documentChanges?(this._changeAnnotations=new nn(t.changeAnnotations),t.changeAnnotations=this._changeAnnotations.all(),t.documentChanges.forEach((function(t){if(G.is(t)){var r=new tn(t.edits,n._changeAnnotations);n._textEditChanges[t.textDocument.uri]=r}}))):t.changes&&Object.keys(t.changes).forEach((function(r){var e=new tn(t.changes[r]);n._textEditChanges[r]=e}))):this._workspaceEdit={}}Object.defineProperty(t.prototype,"edit",{get:function(){return this.initDocumentChanges(),void 0!==this._changeAnnotations&&(this._workspaceEdit.changeAnnotations=0===this._changeAnnotations.size?void 0:this._changeAnnotations.all()),this._workspaceEdit},enumerable:!1,configurable:!0}),t.prototype.getTextEditChange=function(t){if(st.is(t)){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var n={uri:t.uri,version:t.version};return(r=this._textEditChanges[n.uri])||(this._workspaceEdit.documentChanges.push({textDocument:n,edits:e=[]}),r=new tn(e,this._changeAnnotations),this._textEditChanges[n.uri]=r),r}if(this.initChanges(),void 0===this._workspaceEdit.changes)throw new Error("Workspace edit is not configured for normal text edit changes.");var r,e;return(r=this._textEditChanges[t])||(this._workspaceEdit.changes[t]=e=[],r=new tn(e),this._textEditChanges[t]=r),r},t.prototype.initDocumentChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._changeAnnotations=new nn,this._workspaceEdit.documentChanges=[],this._workspaceEdit.changeAnnotations=this._changeAnnotations.all())},t.prototype.initChanges=function(){void 0===this._workspaceEdit.documentChanges&&void 0===this._workspaceEdit.changes&&(this._workspaceEdit.changes=Object.create(null))},t.prototype.createFile=function(t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e,i,o;if($.is(n)||P.is(n)?e=n:r=n,void 0===e?i=K.create(t,r):(o=P.is(e)?e:this._changeAnnotations.manage(e),i=K.create(t,r,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o},t.prototype.renameFile=function(t,n,r,e){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var i,o,u;if($.is(r)||P.is(r)?i=r:e=r,void 0===i?o=X.create(t,n,e):(u=P.is(i)?i:this._changeAnnotations.manage(i),o=X.create(t,n,e,u)),this._workspaceEdit.documentChanges.push(o),void 0!==u)return u},t.prototype.deleteFile=function(t,n,r){if(this.initDocumentChanges(),void 0===this._workspaceEdit.documentChanges)throw new Error("Workspace edit is not configured for document changes.");var e,i,o;if($.is(n)||P.is(n)?e=n:r=n,void 0===e?i=Z.create(t,r):(o=P.is(e)?e:this._changeAnnotations.manage(e),i=Z.create(t,r,o)),this._workspaceEdit.documentChanges.push(i),void 0!==o)return o}}(),(it=et||(et={})).create=function(t){return{uri:t}},it.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)},(ut=ot||(ot={})).create=function(t,n){return{uri:t,version:n}},ut.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&rn.integer(n.version)},(ct=st||(st={})).create=function(t,n){return{uri:t,version:n}},ct.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&(null===n.version||rn.integer(n.version))},(ft=at||(at={})).create=function(t,n,r,e){return{uri:t,languageId:n,version:r,text:e}},ft.is=function(t){var n=t;return rn.defined(n)&&rn.string(n.uri)&&rn.string(n.languageId)&&rn.integer(n.version)&&rn.string(n.text)},(vt=ht||(ht={})).PlainText="plaintext",vt.Markdown="markdown",function(t){t.is=function(n){return n===t.PlainText||n===t.Markdown}}(ht||(ht={})),(dt||(dt={})).is=function(t){var n=t;return rn.objectLiteral(t)&&ht.is(n.kind)&&rn.string(n.value)},(gt=lt||(lt={})).Text=1,gt.Method=2,gt.Function=3,gt.Constructor=4,gt.Field=5,gt.Variable=6,gt.Class=7,gt.Interface=8,gt.Module=9,gt.Property=10,gt.Unit=11,gt.Value=12,gt.Enum=13,gt.Keyword=14,gt.Snippet=15,gt.Color=16,gt.File=17,gt.Reference=18,gt.Folder=19,gt.EnumMember=20,gt.Constant=21,gt.Struct=22,gt.Event=23,gt.Operator=24,gt.TypeParameter=25,(wt=mt||(mt={})).PlainText=1,wt.Snippet=2,(bt||(bt={})).Deprecated=1,(jt=pt||(pt={})).create=function(t,n,r){return{newText:t,insert:n,replace:r}},jt.is=function(t){var n=t;return n&&rn.string(n.newText)&&d.is(n.insert)&&d.is(n.replace)},(kt=xt||(xt={})).asIs=1,kt.adjustIndentation=2,(It||(It={})).create=function(t){return{label:t}},(yt||(yt={})).create=function(t,n){return{items:t||[],isIncomplete:!!n}},(Et=Ot||(Ot={})).fromPlainText=function(t){return t.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")},Et.is=function(t){var n=t;return rn.string(n)||rn.objectLiteral(n)&&rn.string(n.language)&&rn.string(n.value)},(_t||(_t={})).is=function(t){var n=t;return!!n&&rn.objectLiteral(n)&&(dt.is(n.contents)||Ot.is(n.contents)||rn.typedArray(n.contents,Ot.is))&&(void 0===t.range||d.is(t.range))},(Tt||(Tt={})).create=function(t,n){return n?{label:t,documentation:n}:{label:t}},(Rt||(Rt={})).create=function(t,n){for(var r=[],e=2;e<arguments.length;e++)r[e-2]=arguments[e];var i={label:t};return rn.defined(n)&&(i.documentation=n),i.parameters=rn.defined(r)?r:[],i},(Ct=St||(St={})).Text=1,Ct.Read=2,Ct.Write=3,(Dt||(Dt={})).create=function(t,n){var r={range:t};return rn.number(n)&&(r.kind=n),r},(Wt=Nt||(Nt={})).File=1,Wt.Module=2,Wt.Namespace=3,Wt.Package=4,Wt.Class=5,Wt.Method=6,Wt.Property=7,Wt.Field=8,Wt.Constructor=9,Wt.Enum=10,Wt.Interface=11,Wt.Function=12,Wt.Variable=13,Wt.Constant=14,Wt.String=15,Wt.Number=16,Wt.Boolean=17,Wt.Array=18,Wt.Object=19,Wt.Key=20,Wt.Null=21,Wt.EnumMember=22,Wt.Struct=23,Wt.Event=24,Wt.Operator=25,Wt.TypeParameter=26,(Lt||(Lt={})).Deprecated=1,(Mt||(Mt={})).create=function(t,n,r,e,i){var o={name:t,kind:n,location:{uri:e,range:r}};return i&&(o.containerName=i),o},(Ft=At||(At={})).create=function(t,n,r,e,i,o){var u={name:t,detail:n,kind:r,range:e,selectionRange:i};return void 0!==o&&(u.children=o),u},Ft.is=function(t){var n=t;return n&&rn.string(n.name)&&rn.number(n.kind)&&d.is(n.range)&&d.is(n.selectionRange)&&(void 0===n.detail||rn.string(n.detail))&&(void 0===n.deprecated||rn.boolean(n.deprecated))&&(void 0===n.children||Array.isArray(n.children))&&(void 0===n.tags||Array.isArray(n.tags))},(Ut=zt||(zt={})).Empty="",Ut.QuickFix="quickfix",Ut.Refactor="refactor",Ut.RefactorExtract="refactor.extract",Ut.RefactorInline="refactor.inline",Ut.RefactorRewrite="refactor.rewrite",Ut.Source="source",Ut.SourceOrganizeImports="source.organizeImports",Ut.SourceFixAll="source.fixAll",($t=Ht||(Ht={})).create=function(t,n){var r={diagnostics:t};return null!=n&&(r.only=n),r},$t.is=function(t){var n=t;return rn.defined(n)&&rn.typedArray(n.diagnostics,M.is)&&(void 0===n.only||rn.typedArray(n.only,rn.string))},(Pt=qt||(qt={})).create=function(t,n,r){var e={title:t},i=!0;return"string"==typeof n?(i=!1,e.kind=n):F.is(n)?e.command=n:e.edit=n,i&&void 0!==r&&(e.kind=r),e},Pt.is=function(t){var n=t;return n&&rn.string(n.title)&&(void 0===n.diagnostics||rn.typedArray(n.diagnostics,M.is))&&(void 0===n.kind||rn.string(n.kind))&&(void 0!==n.edit||void 0!==n.command)&&(void 0===n.command||F.is(n.command))&&(void 0===n.isPreferred||rn.boolean(n.isPreferred))&&(void 0===n.edit||nt.is(n.edit))},(Bt=Vt||(Vt={})).create=function(t,n){var r={range:t};return rn.defined(n)&&(r.data=n),r},Bt.is=function(t){var n=t;return rn.defined(n)&&d.is(n.range)&&(rn.undefined(n.command)||F.is(n.command))},(Jt=Gt||(Gt={})).create=function(t,n){return{tabSize:t,insertSpaces:n}},Jt.is=function(t){var n=t;return rn.defined(n)&&rn.uinteger(n.tabSize)&&rn.boolean(n.insertSpaces)},(Qt=Kt||(Kt={})).create=function(t,n,r){return{range:t,target:n,data:r}},Qt.is=function(t){var n=t;return rn.defined(n)&&d.is(n.range)&&(rn.undefined(n.target)||rn.string(n.target))},(Yt=Xt||(Xt={})).create=function(t,n){return{range:t,parent:n}},Yt.is=function(t){var n=t;return void 0!==n&&d.is(n.range)&&(void 0===n.parent||Yt.is(n.parent))},function(t){function n(t,r){if(t.length<=1)return t;var e=t.length/2|0,i=t.slice(0,e),o=t.slice(e);n(i,r),n(o,r);for(var u=0,s=0,c=0;u<i.length&&s<o.length;){var a=r(i[u],o[s]);t[c++]=a<=0?i[u++]:o[s++]}for(;u<i.length;)t[c++]=i[u++];for(;s<o.length;)t[c++]=o[s++];return t}t.create=function(t,n,r,e){return new un(t,n,r,e)},t.is=function(t){var n=t;return!!(rn.defined(n)&&rn.string(n.uri)&&(rn.undefined(n.languageId)||rn.string(n.languageId))&&rn.uinteger(n.lineCount)&&rn.func(n.getText)&&rn.func(n.positionAt)&&rn.func(n.offsetAt))},t.applyEdits=function(t,r){for(var e=t.getText(),i=n(r,(function(t,n){var r=t.range.start.line-n.range.start.line;return 0===r?t.range.start.character-n.range.start.character:r})),o=e.length,u=i.length-1;u>=0;u--){var s=i[u],c=t.offsetAt(s.range.start),a=t.offsetAt(s.range.end);if(!(a<=o))throw new Error("Overlapping edit");e=e.substring(0,c)+s.newText+e.substring(a,e.length),o=c}return e}}(Zt||(Zt={}));var rn,en,on,un=function(){function t(t,n,r,e){this._uri=t,this._languageId=n,this._version=r,this._content=e,this._lineOffsets=void 0}return Object.defineProperty(t.prototype,"uri",{get:function(){return this._uri},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"languageId",{get:function(){return this._languageId},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"version",{get:function(){return this._version},enumerable:!1,configurable:!0}),t.prototype.getText=function(t){if(t){var n=this.offsetAt(t.start),r=this.offsetAt(t.end);return this._content.substring(n,r)}return this._content},t.prototype.update=function(t,n){this._content=t.text,this._version=n,this._lineOffsets=void 0},t.prototype.getLineOffsets=function(){if(void 0===this._lineOffsets){for(var t=[],n=this._content,r=!0,e=0;e<n.length;e++){r&&(t.push(e),r=!1);var i=n.charAt(e);r="\r"===i||"\n"===i,"\r"===i&&e+1<n.length&&"\n"===n.charAt(e+1)&&e++}r&&n.length>0&&t.push(n.length),this._lineOffsets=t}return this._lineOffsets},t.prototype.positionAt=function(t){t=Math.max(Math.min(t,this._content.length),0);var n=this.getLineOffsets(),r=0,e=n.length;if(0===e)return h.create(0,t);for(;r<e;){var i=Math.floor((r+e)/2);n[i]>t?e=i:r=i+1}var o=r-1;return h.create(o,t-n[o])},t.prototype.offsetAt=function(t){var n=this.getLineOffsets();if(t.line>=n.length)return this._content.length;if(t.line<0)return 0;var r=n[t.line];return Math.max(Math.min(r+t.character,t.line+1<n.length?n[t.line+1]:this._content.length),r)},Object.defineProperty(t.prototype,"lineCount",{get:function(){return this.getLineOffsets().length},enumerable:!1,configurable:!0}),t}();en=rn||(rn={}),on=Object.prototype.toString,en.defined=function(t){return void 0!==t},en.undefined=function(t){return void 0===t},en.boolean=function(t){return!0===t||!1===t},en.string=function(t){return"[object String]"===on.call(t)},en.number=function(t){return"[object Number]"===on.call(t)},en.numberRange=function(t,n,r){return"[object Number]"===on.call(t)&&n<=t&&t<=r},en.integer=function(t){return"[object Number]"===on.call(t)&&-2147483648<=t&&t<=2147483647},en.uinteger=function(t){return"[object Number]"===on.call(t)&&0<=t&&t<=2147483647},en.func=function(t){return"[object Function]"===on.call(t)},en.objectLiteral=function(t){return null!==t&&"object"==typeof t},en.typedArray=function(t,n){return Array.isArray(t)&&t.every(n)};var sn=class{constructor(t,n,r){this._languageId=t,this._worker=n;const e=t=>{let n,r=t.getLanguageId();r===this._languageId&&(this._listener[t.uri.toString()]=t.onDidChangeContent((()=>{window.clearTimeout(n),n=window.setTimeout((()=>this._doValidate(t.uri,r)),500)})),this._doValidate(t.uri,r))},i=t=>{u.editor.setModelMarkers(t,this._languageId,[]);let n=t.uri.toString(),r=this._listener[n];r&&(r.dispose(),delete this._listener[n])};this._disposables.push(u.editor.onDidCreateModel(e)),this._disposables.push(u.editor.onWillDisposeModel(i)),this._disposables.push(u.editor.onDidChangeModelLanguage((t=>{i(t.model),e(t.model)}))),this._disposables.push(r((()=>{u.editor.getModels().forEach((t=>{t.getLanguageId()===this._languageId&&(i(t),e(t))}))}))),this._disposables.push({dispose:()=>{u.editor.getModels().forEach(i);for(let t in this._listener)this._listener[t].dispose()}}),u.editor.getModels().forEach(e)}_disposables=[];_listener=Object.create(null);dispose(){this._disposables.forEach((t=>t&&t.dispose())),this._disposables.length=0}_doValidate(t,n){this._worker(t).then((n=>n.doValidation(t.toString()))).then((r=>{const e=r.map((t=>function(t,n){let r="number"==typeof n.code?String(n.code):n.code;return{severity:cn(n.severity),startLineNumber:n.range.start.line+1,startColumn:n.range.start.character+1,endLineNumber:n.range.end.line+1,endColumn:n.range.end.character+1,message:n.message,code:r,source:n.source}}(0,t)));let i=u.editor.getModel(t);i&&i.getLanguageId()===n&&u.editor.setModelMarkers(i,n,e)})).then(void 0,(t=>{console.error(t)}))}};function cn(t){switch(t){case C.Error:return u.MarkerSeverity.Error;case C.Warning:return u.MarkerSeverity.Warning;case C.Information:return u.MarkerSeverity.Info;case C.Hint:return u.MarkerSeverity.Hint;default:return u.MarkerSeverity.Info}}var an=class{constructor(t,n){this._worker=t,this._triggerCharacters=n}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.doComplete(i.toString(),fn(n)))).then((r=>{if(!r)return;const e=t.getWordUntilPosition(n),i=new u.Range(n.lineNumber,e.startColumn,n.lineNumber,e.endColumn),o=r.items.map((t=>{const n={label:t.label,insertText:t.insertText||t.label,sortText:t.sortText,filterText:t.filterText,documentation:t.documentation,detail:t.detail,command:(r=t.command,r&&"editor.action.triggerSuggest"===r.command?{id:r.command,title:r.title,arguments:r.arguments}:void 0),range:i,kind:dn(t.kind)};var r,e;return t.textEdit&&(n.range=void 0!==(e=t.textEdit).insert&&void 0!==e.replace?{insert:vn(t.textEdit.insert),replace:vn(t.textEdit.replace)}:vn(t.textEdit.range),n.insertText=t.textEdit.newText),t.additionalTextEdits&&(n.additionalTextEdits=t.additionalTextEdits.map(ln)),t.insertTextFormat===mt.Snippet&&(n.insertTextRules=u.languages.CompletionItemInsertTextRule.InsertAsSnippet),n}));return{isIncomplete:r.isIncomplete,suggestions:o}}))}};function fn(t){if(t)return{character:t.column-1,line:t.lineNumber-1}}function hn(t){if(t)return{start:{line:t.startLineNumber-1,character:t.startColumn-1},end:{line:t.endLineNumber-1,character:t.endColumn-1}}}function vn(t){if(t)return new u.Range(t.start.line+1,t.start.character+1,t.end.line+1,t.end.character+1)}function dn(t){const n=u.languages.CompletionItemKind;switch(t){case lt.Text:return n.Text;case lt.Method:return n.Method;case lt.Function:return n.Function;case lt.Constructor:return n.Constructor;case lt.Field:return n.Field;case lt.Variable:return n.Variable;case lt.Class:return n.Class;case lt.Interface:return n.Interface;case lt.Module:return n.Module;case lt.Property:return n.Property;case lt.Unit:return n.Unit;case lt.Value:return n.Value;case lt.Enum:return n.Enum;case lt.Keyword:return n.Keyword;case lt.Snippet:return n.Snippet;case lt.Color:return n.Color;case lt.File:return n.File;case lt.Reference:return n.Reference}return n.Property}function ln(t){if(t)return{range:vn(t.range),text:t.newText}}var gn=class{constructor(t){this._worker=t}provideHover(t,n,r){let e=t.uri;return this._worker(e).then((t=>t.doHover(e.toString(),fn(n)))).then((t=>{if(t)return{range:vn(t.range),contents:wn(t.contents)}}))}};function mn(t){return"string"==typeof t?{value:t}:(n=t)&&"object"==typeof n&&"string"==typeof n.kind?"plaintext"===t.kind?{value:t.value.replace(/[\\`*_{}[\]()#+\-.!]/g,"\\$&")}:{value:t.value}:{value:"```"+t.language+"\n"+t.value+"\n```\n"};var n}function wn(t){if(t)return Array.isArray(t)?t.map(mn):[mn(t)]}var bn=class{constructor(t){this._worker=t}provideDocumentHighlights(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.findDocumentHighlights(e.toString(),fn(n)))).then((t=>{if(t)return t.map((t=>({range:vn(t.range),kind:pn(t.kind)})))}))}};function pn(t){switch(t){case St.Read:return u.languages.DocumentHighlightKind.Read;case St.Write:return u.languages.DocumentHighlightKind.Write;case St.Text:return u.languages.DocumentHighlightKind.Text}return u.languages.DocumentHighlightKind.Text}var jn=class{constructor(t){this._worker=t}provideDefinition(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.findDefinition(e.toString(),fn(n)))).then((t=>{if(t)return[xn(t)]}))}};function xn(t){return{uri:u.Uri.parse(t.uri),range:vn(t.range)}}var kn=class{constructor(t){this._worker=t}provideReferences(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.findReferences(i.toString(),fn(n)))).then((t=>{if(t)return t.map(xn)}))}},In=class{constructor(t){this._worker=t}provideRenameEdits(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.doRename(i.toString(),fn(n),r))).then((t=>function(t){if(!t||!t.changes)return;let n=[];for(let r in t.changes){const e=u.Uri.parse(r);for(let i of t.changes[r])n.push({resource:e,versionId:void 0,textEdit:{range:vn(i.range),text:i.newText}})}return{edits:n}}(t)))}},yn=class{constructor(t){this._worker=t}provideDocumentSymbols(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentSymbols(r.toString()))).then((t=>{if(t)return t.map((t=>({name:t.name,detail:"",containerName:t.containerName,kind:On(t.kind),range:vn(t.location.range),selectionRange:vn(t.location.range),tags:[]})))}))}};function On(t){let n=u.languages.SymbolKind;switch(t){case Nt.File:return n.Array;case Nt.Module:return n.Module;case Nt.Namespace:return n.Namespace;case Nt.Package:return n.Package;case Nt.Class:return n.Class;case Nt.Method:return n.Method;case Nt.Property:return n.Property;case Nt.Field:return n.Field;case Nt.Constructor:return n.Constructor;case Nt.Enum:return n.Enum;case Nt.Interface:return n.Interface;case Nt.Function:return n.Function;case Nt.Variable:return n.Variable;case Nt.Constant:return n.Constant;case Nt.String:return n.String;case Nt.Number:return n.Number;case Nt.Boolean:return n.Boolean;case Nt.Array:return n.Array}return n.Function}var En=class{constructor(t){this._worker=t}provideLinks(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentLinks(r.toString()))).then((t=>{if(t)return{links:t.map((t=>({range:vn(t.range),url:t.target})))}}))}},_n=class{constructor(t){this._worker=t}provideDocumentFormattingEdits(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.format(e.toString(),null,Rn(n)).then((t=>{if(t&&0!==t.length)return t.map(ln)}))))}},Tn=class{constructor(t){this._worker=t}canFormatMultipleRanges=!1;provideDocumentRangeFormattingEdits(t,n,r,e){const i=t.uri;return this._worker(i).then((t=>t.format(i.toString(),hn(n),Rn(r)).then((t=>{if(t&&0!==t.length)return t.map(ln)}))))}};function Rn(t){return{tabSize:t.tabSize,insertSpaces:t.insertSpaces}}var Sn=class{constructor(t){this._worker=t}provideDocumentColors(t,n){const r=t.uri;return this._worker(r).then((t=>t.findDocumentColors(r.toString()))).then((t=>{if(t)return t.map((t=>({color:t.color,range:vn(t.range)})))}))}provideColorPresentations(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getColorPresentations(e.toString(),n.color,hn(n.range)))).then((t=>{if(t)return t.map((t=>{let n={label:t.label};return t.textEdit&&(n.textEdit=ln(t.textEdit)),t.additionalTextEdits&&(n.additionalTextEdits=t.additionalTextEdits.map(ln)),n}))}))}},Cn=class{constructor(t){this._worker=t}provideFoldingRanges(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getFoldingRanges(e.toString(),n))).then((t=>{if(t)return t.map((t=>{const n={start:t.startLine+1,end:t.endLine+1};return void 0!==t.kind&&(n.kind=function(t){switch(t){case O.Comment:return u.languages.FoldingRangeKind.Comment;case O.Imports:return u.languages.FoldingRangeKind.Imports;case O.Region:return u.languages.FoldingRangeKind.Region}}(t.kind)),n}))}))}},Dn=class{constructor(t){this._worker=t}provideSelectionRanges(t,n,r){const e=t.uri;return this._worker(e).then((t=>t.getSelectionRanges(e.toString(),n.map(fn)))).then((t=>{if(t)return t.map((t=>{const n=[];for(;t;)n.push({range:vn(t.range)}),t=t.parent;return n}))}))}};function Nn(t){const n=[],r=[],e=new rt(t);n.push(e);const i=(...t)=>e.getLanguageServiceWorker(...t);return function(){const{languageId:n,modeConfiguration:e}=t;Ln(r),e.completionItems&&r.push(u.languages.registerCompletionItemProvider(n,new an(i,["/","-",":"]))),e.hovers&&r.push(u.languages.registerHoverProvider(n,new gn(i))),e.documentHighlights&&r.push(u.languages.registerDocumentHighlightProvider(n,new bn(i))),e.definitions&&r.push(u.languages.registerDefinitionProvider(n,new jn(i))),e.references&&r.push(u.languages.registerReferenceProvider(n,new kn(i))),e.documentSymbols&&r.push(u.languages.registerDocumentSymbolProvider(n,new yn(i))),e.rename&&r.push(u.languages.registerRenameProvider(n,new In(i))),e.colors&&r.push(u.languages.registerColorProvider(n,new Sn(i))),e.foldingRanges&&r.push(u.languages.registerFoldingRangeProvider(n,new Cn(i))),e.diagnostics&&r.push(new sn(n,i,t.onDidChange)),e.selectionRanges&&r.push(u.languages.registerSelectionRangeProvider(n,new Dn(i))),e.documentFormattingEdits&&r.push(u.languages.registerDocumentFormattingEditProvider(n,new _n(i))),e.documentRangeFormattingEdits&&r.push(u.languages.registerDocumentRangeFormattingEditProvider(n,new Tn(i)))}(),n.push(Wn(r)),Wn(n)}function Wn(t){return{dispose:()=>Ln(t)}}function Ln(t){for(;t.length;)t.pop().dispose()}export{an as CompletionAdapter,jn as DefinitionAdapter,sn as DiagnosticsAdapter,Sn as DocumentColorAdapter,_n as DocumentFormattingEditProvider,bn as DocumentHighlightAdapter,En as DocumentLinkAdapter,Tn as DocumentRangeFormattingEditProvider,yn as DocumentSymbolAdapter,Cn as FoldingRangeAdapter,gn as HoverAdapter,kn as ReferenceAdapter,In as RenameAdapter,Dn as SelectionRangeAdapter,rt as WorkerManager,fn as fromPosition,hn as fromRange,Nn as setupMode,vn as toRange,ln as toTextEdit}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
-
* v4.31.0-next.
|
|
4
|
+
* v4.31.0-next.31
|
|
5
5
|
*/
|
|
6
|
-
import{conf as e,language as t}from"./p-
|
|
6
|
+
import{conf as e,language as t}from"./p-9c648939.js";import"./p-416666a0.js";
|
|
7
7
|
/*!-----------------------------------------------------------------------------
|
|
8
8
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
9
|
* Version: 0.45.0(5e5af013f8d295555a7210df0d5f2cea0bf5dd56)
|
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
* See https://js.arcgis.com/4.31/esri/copyright.txt for details.
|
|
4
|
+
* v4.31.0-next.31
|
|
5
|
+
*/
|
|
6
|
+
'use strict';
|
|
7
|
+
|
|
8
|
+
const languageDefaultsBase = require('./language-defaults-base-21562698.js');
|
|
9
|
+
const index = require('./index-bdf3252c.js');
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Returns the arcade diagnostic service.
|
|
13
|
+
* Example:
|
|
14
|
+
* ```ts
|
|
15
|
+
* const diagnosticService = await getArcadeDiagnosticService();
|
|
16
|
+
* diagnosticService.onDidChangeDiagnostics(({uri, diaganostics }) => {
|
|
17
|
+
* // Filter the diagnostics for the uri of interest
|
|
18
|
+
* // Do something with the diagnostics
|
|
19
|
+
* });
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
async function getArcadeDiagnosticService() {
|
|
23
|
+
const mode = await getMode();
|
|
24
|
+
return mode.getArcadeDiagnosticService();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns the arcade worker for the model.
|
|
28
|
+
* Example:
|
|
29
|
+
* ```ts
|
|
30
|
+
* const arcadeWorker = await getArcadeWorker(model.uri);
|
|
31
|
+
* ```
|
|
32
|
+
* @returns arcade worker
|
|
33
|
+
*/
|
|
34
|
+
async function getArcadeWorker(uri) {
|
|
35
|
+
const mode = await getMode();
|
|
36
|
+
return await mode.getArcadeWorker(uri);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Request the arcade mode
|
|
40
|
+
* @returns arcade mode module
|
|
41
|
+
*/
|
|
42
|
+
async function getMode() {
|
|
43
|
+
return await Promise.resolve().then(function () { return require('./arcade-mode-b7f29ea1.js'); });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// #region convert editor profile to apiProfile
|
|
47
|
+
/**
|
|
48
|
+
* Converts an editor profile to an api profile.
|
|
49
|
+
* The api profile is an optimized version of the editor profile designed for minimal data transfer between the main thread and the worker.
|
|
50
|
+
*/
|
|
51
|
+
async function arcadeEditorToApiProfile(editorProfile) {
|
|
52
|
+
const { apiVersion, bundles, hiddenApiItems } = editorProfile.toEditorProfileDefinition();
|
|
53
|
+
const variables = await variablesToLSVariable(editorProfile.dictionaryVariables);
|
|
54
|
+
return { apiVersion, bundles, variables, hiddenApiItems: hiddenApiItems?.map((s) => s.toLowerCase()) };
|
|
55
|
+
}
|
|
56
|
+
async function variablesToLSVariable(editorVariables, kind = languageDefaultsBase.main.exports.CompletionItemKind.Variable) {
|
|
57
|
+
return await Promise.all(editorVariables.map(async (editorVariable) => {
|
|
58
|
+
switch (editorVariable.type) {
|
|
59
|
+
case "dictionary":
|
|
60
|
+
return await dictionaryToLSDictionary(editorVariable, kind);
|
|
61
|
+
case "feature":
|
|
62
|
+
return await featureToLSFeature(editorVariable, kind);
|
|
63
|
+
default:
|
|
64
|
+
return variableToLSVariable(editorVariable, kind);
|
|
65
|
+
}
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
function variableToLSVariable(editorVariable, kind) {
|
|
69
|
+
const { name, type } = editorVariable;
|
|
70
|
+
const description = editorVariable.getDescription();
|
|
71
|
+
return {
|
|
72
|
+
name,
|
|
73
|
+
description,
|
|
74
|
+
type,
|
|
75
|
+
completion: {
|
|
76
|
+
label: name,
|
|
77
|
+
detail: name,
|
|
78
|
+
insertText: name,
|
|
79
|
+
insertTextMode: languageDefaultsBase.main.exports.InsertTextMode.asIs,
|
|
80
|
+
insertTextFormat: languageDefaultsBase.main.exports.InsertTextFormat.PlainText,
|
|
81
|
+
kind,
|
|
82
|
+
documentation: { kind: "markdown", value: description },
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
async function featureToLSFeature(editorFeature, kind) {
|
|
87
|
+
// Get the source for the definition
|
|
88
|
+
const source = await editorFeature.loadSource();
|
|
89
|
+
const { name } = editorFeature;
|
|
90
|
+
const description = editorFeature.getDescription();
|
|
91
|
+
const resultCompletion = {
|
|
92
|
+
label: name,
|
|
93
|
+
detail: name,
|
|
94
|
+
insertText: name,
|
|
95
|
+
insertTextMode: languageDefaultsBase.main.exports.InsertTextMode.asIs,
|
|
96
|
+
insertTextFormat: languageDefaultsBase.main.exports.InsertTextFormat.PlainText,
|
|
97
|
+
kind,
|
|
98
|
+
};
|
|
99
|
+
const result = {
|
|
100
|
+
name,
|
|
101
|
+
description,
|
|
102
|
+
type: "dictionary",
|
|
103
|
+
properties: [],
|
|
104
|
+
completion: resultCompletion,
|
|
105
|
+
};
|
|
106
|
+
// No source definition, then it will be a feature without any known fields
|
|
107
|
+
if (!source) {
|
|
108
|
+
return result;
|
|
109
|
+
}
|
|
110
|
+
// Create properties for the fields and the aliases
|
|
111
|
+
// Also improve the feature completion documentation
|
|
112
|
+
const [properties, featureCompletionDescription] = languageDefaultsBase.fieldsToProfileValues(source.fields, description, true);
|
|
113
|
+
result.properties = properties;
|
|
114
|
+
resultCompletion.documentation = { kind: "markdown", value: featureCompletionDescription };
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
async function dictionaryToLSDictionary(editorDictionary, kind) {
|
|
118
|
+
const { name, dictionaryVariables: variables } = editorDictionary;
|
|
119
|
+
const description = editorDictionary.getDescription();
|
|
120
|
+
const completionDescription = variables.reduce((previous, p) => {
|
|
121
|
+
if (previous !== "") {
|
|
122
|
+
previous += " \n \n";
|
|
123
|
+
}
|
|
124
|
+
previous += `**${p.name}** \n${p.type}`;
|
|
125
|
+
const description = p.getDescription();
|
|
126
|
+
if (description) {
|
|
127
|
+
previous += ` \n${description}`;
|
|
128
|
+
}
|
|
129
|
+
return previous;
|
|
130
|
+
}, description);
|
|
131
|
+
return {
|
|
132
|
+
name,
|
|
133
|
+
description,
|
|
134
|
+
type: "dictionary",
|
|
135
|
+
properties: await variablesToLSVariable(variables, languageDefaultsBase.main.exports.CompletionItemKind.Field),
|
|
136
|
+
completion: {
|
|
137
|
+
label: name,
|
|
138
|
+
detail: name,
|
|
139
|
+
insertText: name,
|
|
140
|
+
insertTextMode: languageDefaultsBase.main.exports.InsertTextMode.asIs,
|
|
141
|
+
insertTextFormat: languageDefaultsBase.main.exports.InsertTextFormat.PlainText,
|
|
142
|
+
kind,
|
|
143
|
+
documentation: { kind: "markdown", value: completionDescription },
|
|
144
|
+
},
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
// #endregion
|
|
148
|
+
// #region predefined profile to editor profile definition
|
|
149
|
+
/**
|
|
150
|
+
* Get a PredefinedProfile for a locale. If not already loaded then fetch it.
|
|
151
|
+
* If the locale doesn't exist or the locale profile file doesn't exist then returns
|
|
152
|
+
* the english version of the profile.
|
|
153
|
+
*/
|
|
154
|
+
async function getSdkPredefinedProfiles(locale = "en") {
|
|
155
|
+
const profiles = sdkPredefinedProfilesMap.get(locale);
|
|
156
|
+
if (profiles) {
|
|
157
|
+
return profiles;
|
|
158
|
+
}
|
|
159
|
+
if (!languageDefaultsBase.supportedLocales.has(locale)) {
|
|
160
|
+
return await getSdkPredefinedProfiles("en");
|
|
161
|
+
}
|
|
162
|
+
try {
|
|
163
|
+
const response = await fetch(index.getAssetPath(`./assets/arcade-language/profiles/arcade-profiles.t9n.${locale}.json`));
|
|
164
|
+
if (response.ok) {
|
|
165
|
+
return cacheSdkPredefinedProfiles(locale, (await response.json()));
|
|
166
|
+
}
|
|
167
|
+
if (locale === "en") {
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
170
|
+
return await getSdkPredefinedProfiles("en");
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
return null;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
const sdkPredefinedProfilesMap = new Map();
|
|
177
|
+
/**
|
|
178
|
+
* Convert a stored profile into a PredefinedProfile and add it to the in-memory
|
|
179
|
+
* Map of profiles per locale.
|
|
180
|
+
*/
|
|
181
|
+
function cacheSdkPredefinedProfiles(locale, profiles) {
|
|
182
|
+
const map = new Map();
|
|
183
|
+
profiles.forEach((profile) => {
|
|
184
|
+
map.set(profile.id, profile);
|
|
185
|
+
});
|
|
186
|
+
sdkPredefinedProfilesMap.set(locale, map);
|
|
187
|
+
return map;
|
|
188
|
+
}
|
|
189
|
+
async function getSdkPredefinedProfile(id, locale = "en") {
|
|
190
|
+
const profiles = await getSdkPredefinedProfiles(locale);
|
|
191
|
+
return profiles?.get(id) ?? null;
|
|
192
|
+
}
|
|
193
|
+
function isExtendedPredefinedProfileDefinition(item) {
|
|
194
|
+
return !!item && typeof item === "object" && "additionalVariables" in item && Array.isArray(item.additionalVariables);
|
|
195
|
+
}
|
|
196
|
+
function convertApiVariables(variables) {
|
|
197
|
+
return variables?.map(convertApiVariable);
|
|
198
|
+
}
|
|
199
|
+
function convertApiVariable(variable) {
|
|
200
|
+
switch (variable.type) {
|
|
201
|
+
case "dictionary":
|
|
202
|
+
return {
|
|
203
|
+
...variable,
|
|
204
|
+
type: variable.type,
|
|
205
|
+
properties: convertApiVariables(variable.properties),
|
|
206
|
+
};
|
|
207
|
+
case "array": {
|
|
208
|
+
return {
|
|
209
|
+
...variable,
|
|
210
|
+
type: variable.type,
|
|
211
|
+
elementType: { type: "number", name: "number" },
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
default:
|
|
215
|
+
return { ...variable, type: variable.type };
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
async function convertToEditorProfileDefinition(predefinedProfile, locale = "en") {
|
|
219
|
+
if (!languageDefaultsBase.isPredefinedProfile(predefinedProfile)) {
|
|
220
|
+
return undefined;
|
|
221
|
+
}
|
|
222
|
+
const sdkPredefinedProfile = await getSdkPredefinedProfile(predefinedProfile.id, locale);
|
|
223
|
+
if (!sdkPredefinedProfile) {
|
|
224
|
+
return undefined;
|
|
225
|
+
}
|
|
226
|
+
const editorProfile = {
|
|
227
|
+
bundles: [...sdkPredefinedProfile.bundles],
|
|
228
|
+
variables: [],
|
|
229
|
+
hiddenApiItems: predefinedProfile.hiddenApiItems?.map((s) => s.toLowerCase()),
|
|
230
|
+
};
|
|
231
|
+
// Merge the SDK variables' definitions/properties with the predefined profile definitions.
|
|
232
|
+
sdkPredefinedProfile.variables.forEach((predefinedVariable) => {
|
|
233
|
+
// Don't include disabled variables
|
|
234
|
+
if (predefinedProfile.disabledVariables?.includes(predefinedVariable.name)) {
|
|
235
|
+
return;
|
|
236
|
+
}
|
|
237
|
+
// Try to get a definition from the predefined profile, for the variable that needs one.
|
|
238
|
+
const definition = predefinedProfile.definitions[predefinedVariable.name];
|
|
239
|
+
// Note: Something is weird with TS. The sdkVariables are being casted to the wrong type
|
|
240
|
+
// despite the type checking from the switch statement.
|
|
241
|
+
switch (predefinedVariable.type) {
|
|
242
|
+
case "dictionary": {
|
|
243
|
+
// For dictionary, we support properties overrride
|
|
244
|
+
return editorProfile.variables.push(convertApiVariable({
|
|
245
|
+
...predefinedVariable,
|
|
246
|
+
type: predefinedVariable.type,
|
|
247
|
+
properties: Array.isArray(definition) ? [...definition] : predefinedVariable.properties,
|
|
248
|
+
}));
|
|
249
|
+
}
|
|
250
|
+
case "feature":
|
|
251
|
+
// If the definition is not valid, then we don't include it.
|
|
252
|
+
if (!languageDefaultsBase.isFeatureDefinition(definition)) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
return editorProfile.variables.push({ ...predefinedVariable, type: predefinedVariable.type, definition });
|
|
256
|
+
case "featureSet":
|
|
257
|
+
// If the definition is not valid, then we don't include it.
|
|
258
|
+
if (!languageDefaultsBase.isFeatureSetDefinition(definition)) {
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
return editorProfile.variables.push({ ...predefinedVariable, type: predefinedVariable.type, definition });
|
|
262
|
+
case "featureSetCollection":
|
|
263
|
+
// If the definition is not valid, then we don't include it.
|
|
264
|
+
if (!languageDefaultsBase.isFeatureSetCollectionDefinition(definition)) {
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
return editorProfile.variables.push({ ...predefinedVariable, type: predefinedVariable.type, definition });
|
|
268
|
+
default:
|
|
269
|
+
return editorProfile.variables.push(convertApiVariable(predefinedVariable));
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
if (isExtendedPredefinedProfileDefinition(predefinedProfile)) {
|
|
273
|
+
editorProfile.variables.push(...(predefinedProfile.additionalVariables ?? []));
|
|
274
|
+
}
|
|
275
|
+
return editorProfile;
|
|
276
|
+
}
|
|
277
|
+
// #endregion
|
|
278
|
+
|
|
279
|
+
const arcadeLanguageId = "arcade";
|
|
280
|
+
class ArcadeLanguageServiceDefaults extends languageDefaultsBase.LanguageDefaultsBase {
|
|
281
|
+
constructor() {
|
|
282
|
+
super(...arguments);
|
|
283
|
+
this._languageId = arcadeLanguageId;
|
|
284
|
+
this._languageOptions = {};
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Create an EditorProfile for the given model id using the given definition and locale.
|
|
288
|
+
* The EditorProfile is used by the the Arcade Language service as well by the cosing components.
|
|
289
|
+
* The definition can be a pre-defined profile or an editor profile definition.
|
|
290
|
+
* If the locale is not provided then the 'en' locale is used.
|
|
291
|
+
* @param modelId The model id for which to create the context.
|
|
292
|
+
* @param definition The definition to use for the model context.
|
|
293
|
+
* @param locale The locale to use for the model context.
|
|
294
|
+
* @returns The EditorProfile for the model.
|
|
295
|
+
*/
|
|
296
|
+
async setProfileForModel(modelId, definition, apiContext = { locale: "en" }) {
|
|
297
|
+
// Convert pre-defined profile to a runtime profile
|
|
298
|
+
if (languageDefaultsBase.isPredefinedProfile(definition)) {
|
|
299
|
+
definition = await convertToEditorProfileDefinition(definition, apiContext.locale);
|
|
300
|
+
}
|
|
301
|
+
const profileStrings = await languageDefaultsBase.fetchT9nStringsBundle(apiContext.locale, index.getAssetPath("./assets/arcade-language/t9n"), "profile.t9n.");
|
|
302
|
+
if (!profileStrings) {
|
|
303
|
+
throw new Error(`Failed to load the language bundle for ${apiContext.locale}`);
|
|
304
|
+
}
|
|
305
|
+
this.disposeForModel(modelId);
|
|
306
|
+
const key = this._getApiKey(modelId);
|
|
307
|
+
const editorProfile = new languageDefaultsBase.EditorProfile(definition, profileStrings);
|
|
308
|
+
this._profileMap.set(key, editorProfile);
|
|
309
|
+
const apiProfile = await arcadeEditorToApiProfile(editorProfile);
|
|
310
|
+
this.updateApiContextForModel(modelId, {
|
|
311
|
+
locale: apiContext.locale,
|
|
312
|
+
profile: apiProfile,
|
|
313
|
+
snippets: apiContext.snippets,
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Set or update the Arcade language service options.
|
|
318
|
+
* @param languageOptions The language options to set.
|
|
319
|
+
*/
|
|
320
|
+
setLanguageOptions(languageOptions = {}) {
|
|
321
|
+
// Check if options have actually changed.
|
|
322
|
+
// Avoid restarting the worker when no updates.
|
|
323
|
+
// Today we only have the 'assetsPath' as a property
|
|
324
|
+
if (this._languageOptions.assetsPath === languageOptions.assetsPath) {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
this._languageOptions = { ...this._languageOptions, ...languageOptions };
|
|
328
|
+
this._onDidChange.fire(this);
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Gets the API library for the given model id.
|
|
332
|
+
* @param modelId The model id for which to get the API library.
|
|
333
|
+
* @returns The API library for the model.
|
|
334
|
+
*/
|
|
335
|
+
async getApiLibrary(modelId) {
|
|
336
|
+
const uri = languageDefaultsBase.Uri.parse(modelId);
|
|
337
|
+
const worker = await getArcadeWorker(uri);
|
|
338
|
+
return await worker.getApiLibrary(this.getApiContextForModel(uri));
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
const arcadeDefaults = new ArcadeLanguageServiceDefaults();
|
|
342
|
+
const arcade = {
|
|
343
|
+
setProfileForModel: arcadeDefaults.setProfileForModel.bind(arcadeDefaults),
|
|
344
|
+
};
|
|
345
|
+
|
|
346
|
+
exports.arcade = arcade;
|
|
347
|
+
exports.arcadeDefaults = arcadeDefaults;
|
|
348
|
+
exports.getArcadeDiagnosticService = getArcadeDiagnosticService;
|
|
349
|
+
exports.getMode = getMode;
|