UNPKG

monaco-editor

Version:
12 lines (8 loc) 22.8 kB
define("vs/tsMode-B0S_kp2q",["exports","./ts.worker-2QLmBukE","./editor-KLE6jdfb","./workers-BBttULjf","./monaco.contribution-BE88ZNGY"],(function(b,z,r,J,G){"use strict";class I{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(z.__worker_url_0__,{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(r.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 x(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;n<t;n++)o+=" "}if(o+=g.messageText,t++,g.next)for(const n of g.next)o+=x(n,e,t);return o}function S(g){return g?g.map(e=>e.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:p}=o,{lineNumber:a,column:i}=n;return{startLineNumber:l,startColumn:p,endLineNumber:a,endColumn:i}}}class P{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=r.Uri.parse(e),o=r.editor.getModel(t);if(o)return o;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return r.editor.createModel(this._libFiles[t.path.slice(1)],"typescript",t);const n=G.typescriptDefaults.getExtraLibs()[e];return n?r.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 O 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=i=>{if(i.getLanguageId()!==o)return;const c=()=>{const{onlyVisible:w}=this._defaults.getDiagnosticsOptions();w?i.isAttachedToEditor()&&this._doValidate(i):this._doValidate(i)};let u;const d=i.onDidChangeContent(()=>{clearTimeout(u),u=window.setTimeout(c,500)}),m=i.onDidChangeAttached(()=>{const{onlyVisible:w}=this._defaults.getDiagnosticsOptions();w&&(i.isAttachedToEditor()?c():r.editor.setModelMarkers(i,this._selector,[]))});this._listener[i.uri.toString()]={dispose(){d.dispose(),m.dispose(),clearTimeout(u)}},c()},p=i=>{r.editor.setModelMarkers(i,this._selector,[]);const c=i.uri.toString();this._listener[c]&&(this._listener[c].dispose(),delete this._listener[c])};this._disposables.push(r.editor.onDidCreateModel(i=>l(i))),this._disposables.push(r.editor.onWillDisposeModel(p)),this._disposables.push(r.editor.onDidChangeModelLanguage(i=>{p(i.model),l(i.model)})),this._disposables.push({dispose(){for(const i of r.editor.getModels())p(i)}});const a=()=>{for(const i of r.editor.getModels())p(i),l(i)};this._disposables.push(this._defaults.onDidChange(a)),this._disposables.push(this._defaults.onDidExtraLibsChange(a)),r.editor.getModels().forEach(i=>l(i))}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:p}=this._defaults.getDiagnosticsOptions();n||o.push(t.getSyntacticDiagnostics(e.uri.toString())),l||o.push(t.getSemanticDiagnostics(e.uri.toString())),p||o.push(t.getSuggestionDiagnostics(e.uri.toString()));const a=await Promise.all(o);if(!a||e.isDisposed())return;const i=a.reduce((u,d)=>d.concat(u),[]).filter(u=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(u.code)===-1),c=i.map(u=>u.relatedInformation||[]).reduce((u,d)=>d.concat(u),[]).map(u=>u.file?r.Uri.parse(u.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),!e.isDisposed()&&r.editor.setModelMarkers(e,this._selector,i.map(u=>this._convertDiagnostics(e,u)))}_convertDiagnostics(e,t){const o=t.start||0,n=t.length||1,{lineNumber:l,column:p}=e.getPositionAt(o),{lineNumber:a,column:i}=e.getPositionAt(o+n),c=[];return t.reportsUnnecessary&&c.push(r.MarkerTag.Unnecessary),t.reportsDeprecated&&c.push(r.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:l,startColumn:p,endLineNumber:a,endColumn:i,message:x(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 p=n.start||0,a=n.length||1,{lineNumber:i,column:c}=l.getPositionAt(p),{lineNumber:u,column:d}=l.getPositionAt(p+a);o.push({resource:l.uri,startLineNumber:i,startColumn:c,endLineNumber:u,endColumn:d,message:x(n.messageText,` `)})}),o}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return r.MarkerSeverity.Error;case 3:return r.MarkerSeverity.Info;case 0:return r.MarkerSeverity.Warning;case 2:return r.MarkerSeverity.Hint}return r.MarkerSeverity.Info}}class v extends k{get triggerCharacters(){return["."]}async provideCompletionItems(e,t,o,n){const l=e.getWordUntilPosition(t),p=new r.Range(t.lineNumber,l.startColumn,t.lineNumber,l.endColumn),a=e.uri,i=e.getOffsetAt(t),c=await this._worker(a);if(e.isDisposed())return;const u=await c.getCompletionsAtPosition(a.toString(),i);return!u||e.isDisposed()?void 0:{suggestions:u.entries.map(m=>{let w=p;if(m.replacementSpan){const A=e.getPositionAt(m.replacementSpan.start),F=e.getPositionAt(m.replacementSpan.start+m.replacementSpan.length);w=new r.Range(A.lineNumber,A.column,F.lineNumber,F.column)}const C=[];return m.kindModifiers!==void 0&&m.kindModifiers.indexOf("deprecated")!==-1&&C.push(r.languages.CompletionItemTag.Deprecated),{uri:a,position:t,offset:i,range:w,label:m.name,insertText:m.name,sortText:m.sortText,kind:v.convertKind(m.kind),tags:C}})}}async resolveCompletionItem(e,t){const o=e,n=o.uri,l=o.position,p=o.offset,i=await(await this._worker(n)).getCompletionEntryDetails(n.toString(),p,o.label);return i?{uri:n,position:l,label:i.name,kind:v.convertKind(i.kind),detail:S(i.displayParts),documentation:{value:v.createDocumentationString(i)}}:o}static convertKind(e){switch(e){case f.primitiveType:case f.keyword:return r.languages.CompletionItemKind.Keyword;case f.variable:case f.localVariable:return r.languages.CompletionItemKind.Variable;case f.memberVariable:case f.memberGetAccessor:case f.memberSetAccessor:return r.languages.CompletionItemKind.Field;case f.function:case f.memberFunction:case f.constructSignature:case f.callSignature:case f.indexSignature:return r.languages.CompletionItemKind.Function;case f.enum:return r.languages.CompletionItemKind.Enum;case f.module:return r.languages.CompletionItemKind.Module;case f.class:return r.languages.CompletionItemKind.Class;case f.interface:return r.languages.CompletionItemKind.Interface;case f.warning:return r.languages.CompletionItemKind.File}return r.languages.CompletionItemKind.Property}static createDocumentationString(e){let t=S(e.documentation);if(e.tags)for(const o of e.tags)t+=` ${M(o)}`;return t}}function M(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 D extends k{constructor(){super(...arguments),this.signatureHelpTriggerCharacters=["(",","]}static _toSignatureHelpTriggerReason(e){switch(e.triggerKind){case r.languages.SignatureHelpTriggerKind.TriggerCharacter:return e.triggerCharacter?e.isRetrigger?{kind:"retrigger",triggerCharacter:e.triggerCharacter}:{kind:"characterTyped",triggerCharacter:e.triggerCharacter}:{kind:"invoked"};case r.languages.SignatureHelpTriggerKind.ContentChange:return e.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};case r.languages.SignatureHelpTriggerKind.Invoke:default:return{kind:"invoked"}}}async provideSignatureHelp(e,t,o,n){const l=e.uri,p=e.getOffsetAt(t),a=await this._worker(l);if(e.isDisposed())return;const i=await a.getSignatureHelpItems(l.toString(),p,{triggerReason:D._toSignatureHelpTriggerReason(n)});if(!i||e.isDisposed())return;const c={activeSignature:i.selectedItemIndex,activeParameter:i.argumentIndex,signatures:[]};return i.items.forEach(u=>{const d={label:"",parameters:[]};d.documentation={value:S(u.documentation)},d.label+=S(u.prefixDisplayParts),u.parameters.forEach((m,w,C)=>{const A=S(m.displayParts),F={label:A,documentation:{value:S(m.documentation)}};d.label+=A,d.parameters.push(F),w<C.length-1&&(d.label+=S(u.separatorDisplayParts))}),d.label+=S(u.suffixDisplayParts),c.signatures.push(d)}),{value:c,dispose(){}}}}class N extends k{async provideHover(e,t,o){const n=e.uri,l=e.getOffsetAt(t),p=await this._worker(n);if(e.isDisposed())return;const a=await p.getQuickInfoAtPosition(n.toString(),l);if(!a||e.isDisposed())return;const i=S(a.documentation),c=a.tags?a.tags.map(d=>M(d)).join(` `):"",u=S(a.displayParts);return{range:this._textSpanToRange(e,a.textSpan),contents:[{value:"```typescript\n"+u+"\n```\n"},{value:i+(c?` `+c:"")}]}}}class R extends k{async provideDocumentHighlights(e,t,o){const n=e.uri,l=e.getOffsetAt(t),p=await this._worker(n);if(e.isDisposed())return;const a=await p.getDocumentHighlights(n.toString(),l,[n.toString()]);if(!(!a||e.isDisposed()))return a.flatMap(i=>i.highlightSpans.map(c=>({range:this._textSpanToRange(e,c.textSpan),kind:c.kind==="writtenReference"?r.languages.DocumentHighlightKind.Write:r.languages.DocumentHighlightKind.Text})))}}class H extends k{constructor(e,t){super(t),this._libFiles=e}async provideDefinition(e,t,o){const n=e.uri,l=e.getOffsetAt(t),p=await this._worker(n);if(e.isDisposed())return;const a=await p.getDefinitionAtPosition(n.toString(),l);if(!a||e.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(a.map(c=>r.Uri.parse(c.fileName))),e.isDisposed()))return;const i=[];for(let c of a){const u=this._libFiles.getOrCreateModel(c.fileName);u&&i.push({uri:u.uri,range:this._textSpanToRange(u,c.textSpan)})}return i}}class E extends k{constructor(e,t){super(t),this._libFiles=e}async provideReferences(e,t,o,n){const l=e.uri,p=e.getOffsetAt(t),a=await this._worker(l);if(e.isDisposed())return;const i=await a.getReferencesAtPosition(l.toString(),p);if(!i||e.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(i.map(u=>r.Uri.parse(u.fileName))),e.isDisposed()))return;const c=[];for(let u of i){const d=this._libFiles.getOrCreateModel(u.fileName);d&&c.push({uri:d.uri,range:this._textSpanToRange(d,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 p=(i,c)=>({name:i.text,detail:"",kind:y[i.kind]||r.languages.SymbolKind.Variable,range:this._textSpanToRange(e,i.spans[0]),selectionRange:this._textSpanToRange(e,i.spans[0]),tags:[],children:i.childItems?.map(d=>p(d,i.text)),containerName:c});return l.childItems?l.childItems.map(i=>p(i)):[]}}const h=class h{};h.unknown="",h.keyword="keyword",h.script="script",h.module="module",h.class="class",h.interface="interface",h.type="type",h.enum="enum",h.variable="var",h.localVariable="local var",h.function="function",h.localFunction="local function",h.memberFunction="method",h.memberGetAccessor="getter",h.memberSetAccessor="setter",h.memberVariable="property",h.constructorImplementation="constructor",h.callSignature="call",h.indexSignature="index",h.constructSignature="construct",h.parameter="parameter",h.typeParameter="type parameter",h.primitiveType="primitive type",h.label="label",h.alias="alias",h.const="const",h.let="let",h.warning="warning";let f=h,y=Object.create(null);y[f.module]=r.languages.SymbolKind.Module,y[f.class]=r.languages.SymbolKind.Class,y[f.enum]=r.languages.SymbolKind.Enum,y[f.interface]=r.languages.SymbolKind.Interface,y[f.memberFunction]=r.languages.SymbolKind.Method,y[f.memberVariable]=r.languages.SymbolKind.Property,y[f.memberGetAccessor]=r.languages.SymbolKind.Property,y[f.memberSetAccessor]=r.languages.SymbolKind.Property,y[f.variable]=r.languages.SymbolKind.Variable,y[f.const]=r.languages.SymbolKind.Variable,y[f.localVariable]=r.languages.SymbolKind.Variable,y[f.variable]=r.languages.SymbolKind.Variable,y[f.function]=r.languages.SymbolKind.Function,y[f.localFunction]=r.languages.SymbolKind.Function;class _ 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 _{constructor(){super(...arguments),this.canFormatMultipleRanges=!1}async provideDocumentRangeFormattingEdits(e,t,o,n){const l=e.uri,p=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),a=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),i=await this._worker(l);if(e.isDisposed())return;const c=await i.getFormattingEditsForRange(l.toString(),p,a,_._convertOptions(o));if(!(!c||e.isDisposed()))return c.map(u=>this._convertTextChanges(e,u))}}class K extends _{get autoFormatTriggerCharacters(){return[";","}",` `]}async provideOnTypeFormattingEdits(e,t,o,n,l){const p=e.uri,a=e.getOffsetAt(t),i=await this._worker(p);if(e.isDisposed())return;const c=await i.getFormattingEditsAfterKeystroke(p.toString(),a,o,_._convertOptions(n));if(!(!c||e.isDisposed()))return c.map(u=>this._convertTextChanges(e,u))}}class j extends _{async provideCodeActions(e,t,o,n){const l=e.uri,p=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),a=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),i=_._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 d=await u.getCodeFixesAtPosition(l.toString(),p,a,c,i);return!d||e.isDisposed()?{actions:[],dispose:()=>{}}:{actions:d.filter(w=>w.changes.filter(C=>C.isNewFile).length===0).map(w=>this._tsCodeFixActionToMonacoCodeAction(e,o,w)),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(e,t,o){const n=[];for(const p of o.changes)for(const a of p.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 B extends k{constructor(e,t){super(t),this._libFiles=e}async provideRenameEdits(e,t,o,n){const l=e.uri,p=l.toString(),a=e.getOffsetAt(t),i=await this._worker(l);if(e.isDisposed())return;const c=await i.getRenameInfo(p,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 i.findRenameLocations(p,a,!1,!1,!1);if(!u||e.isDisposed())return;const d=[];for(const m of u){const w=this._libFiles.getOrCreateModel(m.fileName);if(w)d.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:d}}}class U extends k{async provideInlayHints(e,t,o){const n=e.uri,l=n.toString(),p=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),a=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),i=await this._worker(n);return e.isDisposed()?null:{hints:(await i.provideInlayHints(l,p,a)).map(d=>({...d,label:d.text,position:e.getPositionAt(d.position),kind:this._convertHintKind(d.kind)})),dispose:()=>{}}}_convertHintKind(e){switch(e){case"Parameter":return r.languages.InlayHintKind.Parameter;case"Type":return r.languages.InlayHintKind.Type;default:return r.languages.InlayHintKind.Type}}}let T,L;function Q(g){L=$(g,"typescript")}function q(g){T=$(g,"javascript")}function X(){return new Promise((g,e)=>{if(!T)return e("JavaScript not registered!");g(T)})}function Y(){return new Promise((g,e)=>{if(!L)return e("TypeScript not registered!");g(L)})}function $(g,e){const t=[],o=new I(e,g),n=(...a)=>o.getLanguageServiceWorker(...a),l=new P(n);function p(){const{modeConfiguration:a}=g;Z(t),a.completionItems&&t.push(r.languages.registerCompletionItemProvider(e,new v(n))),a.signatureHelp&&t.push(r.languages.registerSignatureHelpProvider(e,new D(n))),a.hovers&&t.push(r.languages.registerHoverProvider(e,new N(n))),a.documentHighlights&&t.push(r.languages.registerDocumentHighlightProvider(e,new R(n))),a.definitions&&t.push(r.languages.registerDefinitionProvider(e,new H(l,n))),a.references&&t.push(r.languages.registerReferenceProvider(e,new E(l,n))),a.documentSymbols&&t.push(r.languages.registerDocumentSymbolProvider(e,new W(n))),a.rename&&t.push(r.languages.registerRenameProvider(e,new B(l,n))),a.documentRangeFormattingEdits&&t.push(r.languages.registerDocumentRangeFormattingEditProvider(e,new V(n))),a.onTypeFormattingEdits&&t.push(r.languages.registerOnTypeFormattingEditProvider(e,new K(n))),a.codeActions&&t.push(r.languages.registerCodeActionProvider(e,new j(n))),a.inlayHints&&t.push(r.languages.registerInlayHintsProvider(e,new U(n))),a.diagnostics&&t.push(new O(l,g,e,n))}return p(),n}function Z(g){for(;g.length;)g.pop().dispose()}b.Adapter=k,b.CodeActionAdaptor=j,b.DefinitionAdapter=H,b.DiagnosticsAdapter=O,b.DocumentHighlightAdapter=R,b.FormatAdapter=V,b.FormatHelper=_,b.FormatOnTypeAdapter=K,b.InlayHintsAdapter=U,b.Kind=f,b.LibFiles=P,b.OutlineAdapter=W,b.QuickInfoAdapter=N,b.ReferenceAdapter=E,b.RenameAdapter=B,b.SignatureHelpAdapter=D,b.SuggestAdapter=v,b.WorkerManager=I,b.flattenDiagnosticMessageText=x,b.getJavaScriptWorker=X,b.getTypeScriptWorker=Y,b.setupJavaScript=q,b.setupTypeScript=Q,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})}));