define("vs/tsMode-CZz1Umrk",["module","exports","./editor.api-CalNCsUg","./workers-DcJshg-q","./monaco.contribution-D2OdxNBt"],(function(z,p,i,J,G){"use strict";class P{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&(this._worker.dispose(),this._worker=null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;const e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||(this._client=(async()=>(this._worker=J.createWebWorker({moduleId:"vs/language/typescript/tsWorker",createWorker:()=>new Worker(new URL(""+new URL(require.toUrl("./assets/ts.worker-CMbG-7ft.js"),document.baseURI).href,new URL(z.uri,document.baseURI).href),{type:"module"}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(i.editor.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))()),this._client}async getLanguageServiceWorker(...e){const t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}}const s={};s["lib.d.ts"]=!0,s["lib.decorators.d.ts"]=!0,s["lib.decorators.legacy.d.ts"]=!0,s["lib.dom.asynciterable.d.ts"]=!0,s["lib.dom.d.ts"]=!0,s["lib.dom.iterable.d.ts"]=!0,s["lib.es2015.collection.d.ts"]=!0,s["lib.es2015.core.d.ts"]=!0,s["lib.es2015.d.ts"]=!0,s["lib.es2015.generator.d.ts"]=!0,s["lib.es2015.iterable.d.ts"]=!0,s["lib.es2015.promise.d.ts"]=!0,s["lib.es2015.proxy.d.ts"]=!0,s["lib.es2015.reflect.d.ts"]=!0,s["lib.es2015.symbol.d.ts"]=!0,s["lib.es2015.symbol.wellknown.d.ts"]=!0,s["lib.es2016.array.include.d.ts"]=!0,s["lib.es2016.d.ts"]=!0,s["lib.es2016.full.d.ts"]=!0,s["lib.es2016.intl.d.ts"]=!0,s["lib.es2017.arraybuffer.d.ts"]=!0,s["lib.es2017.d.ts"]=!0,s["lib.es2017.date.d.ts"]=!0,s["lib.es2017.full.d.ts"]=!0,s["lib.es2017.intl.d.ts"]=!0,s["lib.es2017.object.d.ts"]=!0,s["lib.es2017.sharedmemory.d.ts"]=!0,s["lib.es2017.string.d.ts"]=!0,s["lib.es2017.typedarrays.d.ts"]=!0,s["lib.es2018.asyncgenerator.d.ts"]=!0,s["lib.es2018.asynciterable.d.ts"]=!0,s["lib.es2018.d.ts"]=!0,s["lib.es2018.full.d.ts"]=!0,s["lib.es2018.intl.d.ts"]=!0,s["lib.es2018.promise.d.ts"]=!0,s["lib.es2018.regexp.d.ts"]=!0,s["lib.es2019.array.d.ts"]=!0,s["lib.es2019.d.ts"]=!0,s["lib.es2019.full.d.ts"]=!0,s["lib.es2019.intl.d.ts"]=!0,s["lib.es2019.object.d.ts"]=!0,s["lib.es2019.string.d.ts"]=!0,s["lib.es2019.symbol.d.ts"]=!0,s["lib.es2020.bigint.d.ts"]=!0,s["lib.es2020.d.ts"]=!0,s["lib.es2020.date.d.ts"]=!0,s["lib.es2020.full.d.ts"]=!0,s["lib.es2020.intl.d.ts"]=!0,s["lib.es2020.number.d.ts"]=!0,s["lib.es2020.promise.d.ts"]=!0,s["lib.es2020.sharedmemory.d.ts"]=!0,s["lib.es2020.string.d.ts"]=!0,s["lib.es2020.symbol.wellknown.d.ts"]=!0,s["lib.es2021.d.ts"]=!0,s["lib.es2021.full.d.ts"]=!0,s["lib.es2021.intl.d.ts"]=!0,s["lib.es2021.promise.d.ts"]=!0,s["lib.es2021.string.d.ts"]=!0,s["lib.es2021.weakref.d.ts"]=!0,s["lib.es2022.array.d.ts"]=!0,s["lib.es2022.d.ts"]=!0,s["lib.es2022.error.d.ts"]=!0,s["lib.es2022.full.d.ts"]=!0,s["lib.es2022.intl.d.ts"]=!0,s["lib.es2022.object.d.ts"]=!0,s["lib.es2022.regexp.d.ts"]=!0,s["lib.es2022.string.d.ts"]=!0,s["lib.es2023.array.d.ts"]=!0,s["lib.es2023.collection.d.ts"]=!0,s["lib.es2023.d.ts"]=!0,s["lib.es2023.full.d.ts"]=!0,s["lib.es2023.intl.d.ts"]=!0,s["lib.es2024.arraybuffer.d.ts"]=!0,s["lib.es2024.collection.d.ts"]=!0,s["lib.es2024.d.ts"]=!0,s["lib.es2024.full.d.ts"]=!0,s["lib.es2024.object.d.ts"]=!0,s["lib.es2024.promise.d.ts"]=!0,s["lib.es2024.regexp.d.ts"]=!0,s["lib.es2024.sharedmemory.d.ts"]=!0,s["lib.es2024.string.d.ts"]=!0,s["lib.es5.d.ts"]=!0,s["lib.es6.d.ts"]=!0,s["lib.esnext.array.d.ts"]=!0,s["lib.esnext.collection.d.ts"]=!0,s["lib.esnext.d.ts"]=!0,s["lib.esnext.decorators.d.ts"]=!0,s["lib.esnext.disposable.d.ts"]=!0,s["lib.esnext.error.d.ts"]=!0,s["lib.esnext.float16.d.ts"]=!0,s["lib.esnext.full.d.ts"]=!0,s["lib.esnext.intl.d.ts"]=!0,s["lib.esnext.iterator.d.ts"]=!0,s["lib.esnext.promise.d.ts"]=!0,s["lib.esnext.sharedmemory.d.ts"]=!0,s["lib.scripthost.d.ts"]=!0,s["lib.webworker.asynciterable.d.ts"]=!0,s["lib.webworker.d.ts"]=!0,s["lib.webworker.importscripts.d.ts"]=!0,s["lib.webworker.iterable.d.ts"]=!0;function D(g,e,t=0){if(typeof g=="string")return g;if(g===void 0)return"";let o="";if(t){o+=e;for(let n=0;ne.text).join(""):""}class k{constructor(e){this._worker=e}_textSpanToRange(e,t){let o=e.getPositionAt(t.start),n=e.getPositionAt(t.start+t.length),{lineNumber:l,column:d}=o,{lineNumber:a,column:r}=n;return{startLineNumber:l,startColumn:d,endLineNumber:a,endColumn:r}}}class O{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e&&e.path.indexOf("/lib.")===0?!!s[e.path.slice(1)]:!1}getOrCreateModel(e){const t=i.Uri.parse(e),o=i.editor.getModel(t);if(o)return o;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return i.editor.createModel(this._libFiles[t.path.slice(1)],"typescript",t);const n=G.typescriptDefaults.getExtraLibs()[e];return n?i.editor.createModel(n.content,"typescript",t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e})),this._fetchLibFilesPromise}}class M extends k{constructor(e,t,o,n){super(n),this._libFiles=e,this._defaults=t,this._selector=o,this._disposables=[],this._listener=Object.create(null);const l=r=>{if(r.getLanguageId()!==o)return;const c=()=>{const{onlyVisible:w}=this._defaults.getDiagnosticsOptions();w?r.isAttachedToEditor()&&this._doValidate(r):this._doValidate(r)};let u;const f=r.onDidChangeContent(()=>{clearTimeout(u),u=window.setTimeout(c,500)}),m=r.onDidChangeAttached(()=>{const{onlyVisible:w}=this._defaults.getDiagnosticsOptions();w&&(r.isAttachedToEditor()?c():i.editor.setModelMarkers(r,this._selector,[]))});this._listener[r.uri.toString()]={dispose(){f.dispose(),m.dispose(),clearTimeout(u)}},c()},d=r=>{i.editor.setModelMarkers(r,this._selector,[]);const c=r.uri.toString();this._listener[c]&&(this._listener[c].dispose(),delete this._listener[c])};this._disposables.push(i.editor.onDidCreateModel(r=>l(r))),this._disposables.push(i.editor.onWillDisposeModel(d)),this._disposables.push(i.editor.onDidChangeModelLanguage(r=>{d(r.model),l(r.model)})),this._disposables.push({dispose(){for(const r of i.editor.getModels())d(r)}});const a=()=>{for(const r of i.editor.getModels())d(r),l(r)};this._disposables.push(this._defaults.onDidChange(a)),this._disposables.push(this._defaults.onDidExtraLibsChange(a)),i.editor.getModels().forEach(r=>l(r))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){const t=await this._worker(e.uri);if(e.isDisposed())return;const o=[],{noSyntaxValidation:n,noSemanticValidation:l,noSuggestionDiagnostics:d}=this._defaults.getDiagnosticsOptions();n||o.push(t.getSyntacticDiagnostics(e.uri.toString())),l||o.push(t.getSemanticDiagnostics(e.uri.toString())),d||o.push(t.getSuggestionDiagnostics(e.uri.toString()));const a=await Promise.all(o);if(!a||e.isDisposed())return;const r=a.reduce((u,f)=>f.concat(u),[]).filter(u=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(u.code)===-1),c=r.map(u=>u.relatedInformation||[]).reduce((u,f)=>f.concat(u),[]).map(u=>u.file?i.Uri.parse(u.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),!e.isDisposed()&&i.editor.setModelMarkers(e,this._selector,r.map(u=>this._convertDiagnostics(e,u)))}_convertDiagnostics(e,t){const o=t.start||0,n=t.length||1,{lineNumber:l,column:d}=e.getPositionAt(o),{lineNumber:a,column:r}=e.getPositionAt(o+n),c=[];return t.reportsUnnecessary&&c.push(i.MarkerTag.Unnecessary),t.reportsDeprecated&&c.push(i.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:l,startColumn:d,endLineNumber:a,endColumn:r,message:D(t.messageText,` `),code:t.code.toString(),tags:c,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];const o=[];return t.forEach(n=>{let l=e;if(n.file&&(l=this._libFiles.getOrCreateModel(n.file.fileName)),!l)return;const d=n.start||0,a=n.length||1,{lineNumber:r,column:c}=l.getPositionAt(d),{lineNumber:u,column:f}=l.getPositionAt(d+a);o.push({resource:l.uri,startLineNumber:r,startColumn:c,endLineNumber:u,endColumn:f,message:D(n.messageText,` `)})}),o}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return i.MarkerSeverity.Error;case 3:return i.MarkerSeverity.Info;case 0:return i.MarkerSeverity.Warning;case 2:return i.MarkerSeverity.Hint}return i.MarkerSeverity.Info}}class C extends k{get triggerCharacters(){return["."]}async provideCompletionItems(e,t,o,n){const l=e.getWordUntilPosition(t),d=new i.Range(t.lineNumber,l.startColumn,t.lineNumber,l.endColumn),a=e.uri,r=e.getOffsetAt(t),c=await this._worker(a);if(e.isDisposed())return;const u=await c.getCompletionsAtPosition(a.toString(),r);return!u||e.isDisposed()?void 0:{suggestions:u.entries.map(m=>{let w=d;if(m.replacementSpan){const x=e.getPositionAt(m.replacementSpan.start),T=e.getPositionAt(m.replacementSpan.start+m.replacementSpan.length);w=new i.Range(x.lineNumber,x.column,T.lineNumber,T.column)}const A=[];return m.kindModifiers!==void 0&&m.kindModifiers.indexOf("deprecated")!==-1&&A.push(i.languages.CompletionItemTag.Deprecated),{uri:a,position:t,offset:r,range:w,label:m.name,insertText:m.name,sortText:m.sortText,kind:C.convertKind(m.kind),tags:A}})}}async resolveCompletionItem(e,t){const o=e,n=o.uri,l=o.position,d=o.offset,r=await(await this._worker(n)).getCompletionEntryDetails(n.toString(),d,o.label);return r?{uri:n,position:l,label:r.name,kind:C.convertKind(r.kind),detail:S(r.displayParts),documentation:{value:C.createDocumentationString(r)}}:o}static convertKind(e){switch(e){case h.primitiveType:case h.keyword:return i.languages.CompletionItemKind.Keyword;case h.variable:case h.localVariable:return i.languages.CompletionItemKind.Variable;case h.memberVariable:case h.memberGetAccessor:case h.memberSetAccessor:return i.languages.CompletionItemKind.Field;case h.function:case h.memberFunction:case h.constructSignature:case h.callSignature:case h.indexSignature:return i.languages.CompletionItemKind.Function;case h.enum:return i.languages.CompletionItemKind.Enum;case h.module:return i.languages.CompletionItemKind.Module;case h.class:return i.languages.CompletionItemKind.Class;case h.interface:return i.languages.CompletionItemKind.Interface;case h.warning:return i.languages.CompletionItemKind.File}return i.languages.CompletionItemKind.Property}static createDocumentationString(e){let t=S(e.documentation);if(e.tags)for(const o of e.tags)t+=` ${R(o)}`;return t}}function R(g){let e=`*@${g.name}*`;if(g.name==="param"&&g.text){const[t,...o]=g.text;e+=`\`${t.text}\``,o.length>0&&(e+=` — ${o.map(n=>n.text).join(" ")}`)}else Array.isArray(g.text)?e+=` — ${g.text.map(t=>t.text).join(" ")}`:g.text&&(e+=` — ${g.text}`);return e}class F extends k{constructor(){super(...arguments),this.signatureHelpTriggerCharacters=["(",","]}static _toSignatureHelpTriggerReason(e){switch(e.triggerKind){case i.languages.SignatureHelpTriggerKind.TriggerCharacter:return e.triggerCharacter?e.isRetrigger?{kind:"retrigger",triggerCharacter:e.triggerCharacter}:{kind:"characterTyped",triggerCharacter:e.triggerCharacter}:{kind:"invoked"};case i.languages.SignatureHelpTriggerKind.ContentChange:return e.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};case i.languages.SignatureHelpTriggerKind.Invoke:default:return{kind:"invoked"}}}async provideSignatureHelp(e,t,o,n){const l=e.uri,d=e.getOffsetAt(t),a=await this._worker(l);if(e.isDisposed())return;const r=await a.getSignatureHelpItems(l.toString(),d,{triggerReason:F._toSignatureHelpTriggerReason(n)});if(!r||e.isDisposed())return;const c={activeSignature:r.selectedItemIndex,activeParameter:r.argumentIndex,signatures:[]};return r.items.forEach(u=>{const f={label:"",parameters:[]};f.documentation={value:S(u.documentation)},f.label+=S(u.prefixDisplayParts),u.parameters.forEach((m,w,A)=>{const x=S(m.displayParts),T={label:x,documentation:{value:S(m.documentation)}};f.label+=x,f.parameters.push(T),wR(f)).join(` `):"",u=S(a.displayParts);return{range:this._textSpanToRange(e,a.textSpan),contents:[{value:"```typescript\n"+u+"\n```\n"},{value:r+(c?` `+c:"")}]}}}class H extends k{async provideDocumentHighlights(e,t,o){const n=e.uri,l=e.getOffsetAt(t),d=await this._worker(n);if(e.isDisposed())return;const a=await d.getDocumentHighlights(n.toString(),l,[n.toString()]);if(!(!a||e.isDisposed()))return a.flatMap(r=>r.highlightSpans.map(c=>({range:this._textSpanToRange(e,c.textSpan),kind:c.kind==="writtenReference"?i.languages.DocumentHighlightKind.Write:i.languages.DocumentHighlightKind.Text})))}}class _ extends k{constructor(e,t){super(t),this._libFiles=e}async provideDefinition(e,t,o){const n=e.uri,l=e.getOffsetAt(t),d=await this._worker(n);if(e.isDisposed())return;const a=await d.getDefinitionAtPosition(n.toString(),l);if(!a||e.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(a.map(c=>i.Uri.parse(c.fileName))),e.isDisposed()))return;const r=[];for(let c of a){const u=this._libFiles.getOrCreateModel(c.fileName);u&&r.push({uri:u.uri,range:this._textSpanToRange(u,c.textSpan)})}return r}}class E extends k{constructor(e,t){super(t),this._libFiles=e}async provideReferences(e,t,o,n){const l=e.uri,d=e.getOffsetAt(t),a=await this._worker(l);if(e.isDisposed())return;const r=await a.getReferencesAtPosition(l.toString(),d);if(!r||e.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(r.map(u=>i.Uri.parse(u.fileName))),e.isDisposed()))return;const c=[];for(let u of r){const f=this._libFiles.getOrCreateModel(u.fileName);f&&c.push({uri:f.uri,range:this._textSpanToRange(f,u.textSpan)})}return c}}class W extends k{async provideDocumentSymbols(e,t){const o=e.uri,n=await this._worker(o);if(e.isDisposed())return;const l=await n.getNavigationTree(o.toString());if(!l||e.isDisposed())return;const d=(r,c)=>({name:r.text,detail:"",kind:y[r.kind]||i.languages.SymbolKind.Variable,range:this._textSpanToRange(e,r.spans[0]),selectionRange:this._textSpanToRange(e,r.spans[0]),tags:[],children:r.childItems?.map(f=>d(f,r.text)),containerName:c});return l.childItems?l.childItems.map(r=>d(r)):[]}}const b=class b{};b.unknown="",b.keyword="keyword",b.script="script",b.module="module",b.class="class",b.interface="interface",b.type="type",b.enum="enum",b.variable="var",b.localVariable="local var",b.function="function",b.localFunction="local function",b.memberFunction="method",b.memberGetAccessor="getter",b.memberSetAccessor="setter",b.memberVariable="property",b.constructorImplementation="constructor",b.callSignature="call",b.indexSignature="index",b.constructSignature="construct",b.parameter="parameter",b.typeParameter="type parameter",b.primitiveType="primitive type",b.label="label",b.alias="alias",b.const="const",b.let="let",b.warning="warning";let h=b,y=Object.create(null);y[h.module]=i.languages.SymbolKind.Module,y[h.class]=i.languages.SymbolKind.Class,y[h.enum]=i.languages.SymbolKind.Enum,y[h.interface]=i.languages.SymbolKind.Interface,y[h.memberFunction]=i.languages.SymbolKind.Method,y[h.memberVariable]=i.languages.SymbolKind.Property,y[h.memberGetAccessor]=i.languages.SymbolKind.Property,y[h.memberSetAccessor]=i.languages.SymbolKind.Property,y[h.variable]=i.languages.SymbolKind.Variable,y[h.const]=i.languages.SymbolKind.Variable,y[h.localVariable]=i.languages.SymbolKind.Variable,y[h.variable]=i.languages.SymbolKind.Variable,y[h.function]=i.languages.SymbolKind.Function,y[h.localFunction]=i.languages.SymbolKind.Function;class v extends k{static _convertOptions(e){return{ConvertTabsToSpaces:e.insertSpaces,TabSize:e.tabSize,IndentSize:e.tabSize,IndentStyle:2,NewLineCharacter:` `,InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(e,t){return{text:t.newText,range:this._textSpanToRange(e,t.span)}}}class V extends v{constructor(){super(...arguments),this.canFormatMultipleRanges=!1}async provideDocumentRangeFormattingEdits(e,t,o,n){const l=e.uri,d=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),a=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),r=await this._worker(l);if(e.isDisposed())return;const c=await r.getFormattingEditsForRange(l.toString(),d,a,v._convertOptions(o));if(!(!c||e.isDisposed()))return c.map(u=>this._convertTextChanges(e,u))}}class j extends v{get autoFormatTriggerCharacters(){return[";","}",` `]}async provideOnTypeFormattingEdits(e,t,o,n,l){const d=e.uri,a=e.getOffsetAt(t),r=await this._worker(d);if(e.isDisposed())return;const c=await r.getFormattingEditsAfterKeystroke(d.toString(),a,o,v._convertOptions(n));if(!(!c||e.isDisposed()))return c.map(u=>this._convertTextChanges(e,u))}}class K extends v{async provideCodeActions(e,t,o,n){const l=e.uri,d=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),a=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),r=v._convertOptions(e.getOptions()),c=o.markers.filter(w=>w.code).map(w=>w.code).map(Number),u=await this._worker(l);if(e.isDisposed())return;const f=await u.getCodeFixesAtPosition(l.toString(),d,a,c,r);return!f||e.isDisposed()?{actions:[],dispose:()=>{}}:{actions:f.filter(w=>w.changes.filter(A=>A.isNewFile).length===0).map(w=>this._tsCodeFixActionToMonacoCodeAction(e,o,w)),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(e,t,o){const n=[];for(const d of o.changes)for(const a of d.textChanges)n.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,a.span),text:a.newText}});return{title:o.description,edit:{edits:n},diagnostics:t.markers,kind:"quickfix"}}}class U extends k{constructor(e,t){super(t),this._libFiles=e}async provideRenameEdits(e,t,o,n){const l=e.uri,d=l.toString(),a=e.getOffsetAt(t),r=await this._worker(l);if(e.isDisposed())return;const c=await r.getRenameInfo(d,a,{allowRenameOfImportPath:!1});if(c.canRename===!1)return{edits:[],rejectReason:c.localizedErrorMessage};if(c.fileToRename!==void 0)throw new Error("Renaming files is not supported.");const u=await r.findRenameLocations(d,a,!1,!1,!1);if(!u||e.isDisposed())return;const f=[];for(const m of u){const w=this._libFiles.getOrCreateModel(m.fileName);if(w)f.push({resource:w.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(w,m.textSpan),text:o}});else throw new Error(`Unknown file ${m.fileName}.`)}return{edits:f}}}class B extends k{async provideInlayHints(e,t,o){const n=e.uri,l=n.toString(),d=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),a=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),r=await this._worker(n);return e.isDisposed()?null:{hints:(await r.provideInlayHints(l,d,a)).map(f=>({...f,label:f.text,position:e.getPositionAt(f.position),kind:this._convertHintKind(f.kind)})),dispose:()=>{}}}_convertHintKind(e){switch(e){case"Parameter":return i.languages.InlayHintKind.Parameter;case"Type":return i.languages.InlayHintKind.Type;default:return i.languages.InlayHintKind.Type}}}let L,I;function Q(g){I=$(g,"typescript")}function q(g){L=$(g,"javascript")}function X(){return new Promise((g,e)=>{if(!L)return e("JavaScript not registered!");g(L)})}function Y(){return new Promise((g,e)=>{if(!I)return e("TypeScript not registered!");g(I)})}function $(g,e){const t=[],o=new P(e,g),n=(...a)=>o.getLanguageServiceWorker(...a),l=new O(n);function d(){const{modeConfiguration:a}=g;Z(t),a.completionItems&&t.push(i.languages.registerCompletionItemProvider(e,new C(n))),a.signatureHelp&&t.push(i.languages.registerSignatureHelpProvider(e,new F(n))),a.hovers&&t.push(i.languages.registerHoverProvider(e,new N(n))),a.documentHighlights&&t.push(i.languages.registerDocumentHighlightProvider(e,new H(n))),a.definitions&&t.push(i.languages.registerDefinitionProvider(e,new _(l,n))),a.references&&t.push(i.languages.registerReferenceProvider(e,new E(l,n))),a.documentSymbols&&t.push(i.languages.registerDocumentSymbolProvider(e,new W(n))),a.rename&&t.push(i.languages.registerRenameProvider(e,new U(l,n))),a.documentRangeFormattingEdits&&t.push(i.languages.registerDocumentRangeFormattingEditProvider(e,new V(n))),a.onTypeFormattingEdits&&t.push(i.languages.registerOnTypeFormattingEditProvider(e,new j(n))),a.codeActions&&t.push(i.languages.registerCodeActionProvider(e,new K(n))),a.inlayHints&&t.push(i.languages.registerInlayHintsProvider(e,new B(n))),a.diagnostics&&t.push(new M(l,g,e,n))}return d(),n}function Z(g){for(;g.length;)g.pop().dispose()}p.Adapter=k,p.CodeActionAdaptor=K,p.DefinitionAdapter=_,p.DiagnosticsAdapter=M,p.DocumentHighlightAdapter=H,p.FormatAdapter=V,p.FormatHelper=v,p.FormatOnTypeAdapter=j,p.InlayHintsAdapter=B,p.Kind=h,p.LibFiles=O,p.OutlineAdapter=W,p.QuickInfoAdapter=N,p.ReferenceAdapter=E,p.RenameAdapter=U,p.SignatureHelpAdapter=F,p.SuggestAdapter=C,p.WorkerManager=P,p.flattenDiagnosticMessageText=D,p.getJavaScriptWorker=X,p.getTypeScriptWorker=Y,p.setupJavaScript=q,p.setupTypeScript=Q,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})}));