UNPKG

@arcgis/coding-components

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