UNPKG

@asyncapi/studio

Version:

One place that allows you to develop an AsyncAPI document, validate it, convert it to the latest version, preview the documentation and visualize the events flow.

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