canyonapp 0.0.2 → 0.0.3
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/dist/assets/{PlusOutlined-BKBEnSjP.js → PlusOutlined-sY_ekDgf.js} +2 -2
- package/dist/assets/{PlusOutlined-BKBEnSjP.js.map → PlusOutlined-sY_ekDgf.js.map} +1 -1
- package/dist/assets/{Primary-kRxOAMo2.js → Primary-BQrD5zmy.js} +2 -2
- package/dist/assets/{Primary-kRxOAMo2.js.map → Primary-BQrD5zmy.js.map} +1 -1
- package/dist/assets/{SearchOutlined-Gotzyolm.js → SearchOutlined-BbFgLxbH.js} +2 -2
- package/dist/assets/{SearchOutlined-Gotzyolm.js.map → SearchOutlined-BbFgLxbH.js.map} +1 -1
- package/dist/assets/{_cr_-bWnXW3i3.js → _cr_-C-b_iODB.js} +2 -2
- package/dist/assets/{_cr_-bWnXW3i3.js.map → _cr_-C-b_iODB.js.map} +1 -1
- package/dist/assets/{_repo_-wV83V_Ao.js → _repo_-67VixA7I.js} +3 -3
- package/dist/assets/{_repo_-wV83V_Ao.js.map → _repo_-67VixA7I.js.map} +1 -1
- package/dist/assets/{avatar-U3eONG6p.js → avatar-mH_YkdK6.js} +2 -2
- package/dist/assets/{avatar-U3eONG6p.js.map → avatar-mH_YkdK6.js.map} +1 -1
- package/dist/assets/{card-Dlwgxpi6.js → card-Bjmmjg43.js} +2 -2
- package/dist/assets/{card-Dlwgxpi6.js.map → card-Bjmmjg43.js.map} +1 -1
- package/dist/assets/{commits-BduDqkt0.js → commits-DYkmJ-uz.js} +2 -2
- package/dist/assets/{commits-BduDqkt0.js.map → commits-DYkmJ-uz.js.map} +1 -1
- package/dist/assets/{compare-Cw69owfd.js → compare-DoPa_nKN.js} +2 -2
- package/dist/assets/{compare-Cw69owfd.js.map → compare-DoPa_nKN.js.map} +1 -1
- package/dist/assets/{cssMode-pdWk0ODS.js → cssMode-CdL5sipT.js} +2 -2
- package/dist/assets/{cssMode-pdWk0ODS.js.map → cssMode-CdL5sipT.js.map} +1 -1
- package/dist/assets/{database-Do-CAKK7.js → database-DMgJWEa5.js} +2 -2
- package/dist/assets/{database-Do-CAKK7.js.map → database-DMgJWEa5.js.map} +1 -1
- package/dist/assets/{dropdown-BZRTBpNN.js → dropdown-CRMju3hp.js} +2 -2
- package/dist/assets/{dropdown-BZRTBpNN.js.map → dropdown-CRMju3hp.js.map} +1 -1
- package/dist/assets/{form-DIHIzAn0.js → form-agjas9M8.js} +2 -2
- package/dist/assets/{form-DIHIzAn0.js.map → form-agjas9M8.js.map} +1 -1
- package/dist/assets/{htmlMode-BJkP6ANp.js → htmlMode-DL-08zYm.js} +2 -2
- package/dist/assets/{htmlMode-BJkP6ANp.js.map → htmlMode-DL-08zYm.js.map} +1 -1
- package/dist/assets/{index-CmpgusTt.js → index-Buo2eS-Q.js} +6 -6
- package/dist/assets/{index-CmpgusTt.js.map → index-Buo2eS-Q.js.map} +1 -1
- package/dist/assets/{infra-q74EDR4f.js → infra-BiHKZ7O6.js} +2 -2
- package/dist/assets/{infra-q74EDR4f.js.map → infra-BiHKZ7O6.js.map} +1 -1
- package/dist/assets/{jsonMode-YEDssj9h.js → jsonMode-BgUWdwoZ.js} +2 -2
- package/dist/assets/{jsonMode-YEDssj9h.js.map → jsonMode-BgUWdwoZ.js.map} +1 -1
- package/dist/assets/{login--q88da0J.js → login-BIxW6k10.js} +2 -2
- package/dist/assets/{login--q88da0J.js.map → login-BIxW6k10.js.map} +1 -1
- package/dist/assets/{login-D0kwNFIZ.js → login-CeBa1WeH.js} +1 -1
- package/dist/assets/{new-DLzTRflL.js → new-urCghqqi.js} +2 -2
- package/dist/assets/{new-DLzTRflL.js.map → new-urCghqqi.js.map} +1 -1
- package/dist/assets/{popconfirm-hdbKlzM8.js → popconfirm-XB7pULHq.js} +2 -2
- package/dist/assets/{popconfirm-hdbKlzM8.js.map → popconfirm-XB7pULHq.js.map} +1 -1
- package/dist/assets/{projects-BQQMe3Sa.js → projects-DpKv9IY6.js} +2 -2
- package/dist/assets/{projects-BQQMe3Sa.js.map → projects-DpKv9IY6.js.map} +1 -1
- package/dist/assets/{request-DBcySI71.js → request-OsR-2ZDW.js} +2 -2
- package/dist/assets/{request-DBcySI71.js.map → request-OsR-2ZDW.js.map} +1 -1
- package/dist/assets/{settings-FOAFhNrB.js → settings-CTtlAnDi.js} +2 -2
- package/dist/assets/{settings-FOAFhNrB.js.map → settings-CTtlAnDi.js.map} +1 -1
- package/dist/assets/{settings-DRwbAfEP.js → settings-dgWrzHRY.js} +2 -2
- package/dist/assets/{settings-DRwbAfEP.js.map → settings-dgWrzHRY.js.map} +1 -1
- package/dist/assets/{skeleton-C7XdtHwK.js → skeleton-Cxf0Yj2M.js} +2 -2
- package/dist/assets/{skeleton-C7XdtHwK.js.map → skeleton-Cxf0Yj2M.js.map} +1 -1
- package/dist/assets/{tabs-QwRshmnh.js → tabs-DfQHMKH8.js} +2 -2
- package/dist/assets/{tabs-QwRshmnh.js.map → tabs-DfQHMKH8.js.map} +1 -1
- package/dist/assets/{tsMode-B8Haz2NH.js → tsMode-B2vhKML7.js} +2 -2
- package/dist/assets/{tsMode-B8Haz2NH.js.map → tsMode-B2vhKML7.js.map} +1 -1
- package/dist/index.html +6 -6
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e,c as t,f as n,h as r,o as i,p as a}from"./editor.api2-9Yi1n-1N.js";import{T as o,w as s}from"./index-
|
|
1
|
+
import{a as e,c as t,f as n,h as r,o as i,p as a}from"./editor.api2-9Yi1n-1N.js";import{T as o,w as s}from"./index-Buo2eS-Q.js";var c=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())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),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||=(async()=>(this._worker=s({moduleId:`vs/language/typescript/tsWorker`,createWorker:()=>new Worker(new URL(`/assets/ts.worker-DI5g4t5j.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(a.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}},l={};l[`lib.d.ts`]=!0,l[`lib.decorators.d.ts`]=!0,l[`lib.decorators.legacy.d.ts`]=!0,l[`lib.dom.asynciterable.d.ts`]=!0,l[`lib.dom.d.ts`]=!0,l[`lib.dom.iterable.d.ts`]=!0,l[`lib.es2015.collection.d.ts`]=!0,l[`lib.es2015.core.d.ts`]=!0,l[`lib.es2015.d.ts`]=!0,l[`lib.es2015.generator.d.ts`]=!0,l[`lib.es2015.iterable.d.ts`]=!0,l[`lib.es2015.promise.d.ts`]=!0,l[`lib.es2015.proxy.d.ts`]=!0,l[`lib.es2015.reflect.d.ts`]=!0,l[`lib.es2015.symbol.d.ts`]=!0,l[`lib.es2015.symbol.wellknown.d.ts`]=!0,l[`lib.es2016.array.include.d.ts`]=!0,l[`lib.es2016.d.ts`]=!0,l[`lib.es2016.full.d.ts`]=!0,l[`lib.es2016.intl.d.ts`]=!0,l[`lib.es2017.arraybuffer.d.ts`]=!0,l[`lib.es2017.d.ts`]=!0,l[`lib.es2017.date.d.ts`]=!0,l[`lib.es2017.full.d.ts`]=!0,l[`lib.es2017.intl.d.ts`]=!0,l[`lib.es2017.object.d.ts`]=!0,l[`lib.es2017.sharedmemory.d.ts`]=!0,l[`lib.es2017.string.d.ts`]=!0,l[`lib.es2017.typedarrays.d.ts`]=!0,l[`lib.es2018.asyncgenerator.d.ts`]=!0,l[`lib.es2018.asynciterable.d.ts`]=!0,l[`lib.es2018.d.ts`]=!0,l[`lib.es2018.full.d.ts`]=!0,l[`lib.es2018.intl.d.ts`]=!0,l[`lib.es2018.promise.d.ts`]=!0,l[`lib.es2018.regexp.d.ts`]=!0,l[`lib.es2019.array.d.ts`]=!0,l[`lib.es2019.d.ts`]=!0,l[`lib.es2019.full.d.ts`]=!0,l[`lib.es2019.intl.d.ts`]=!0,l[`lib.es2019.object.d.ts`]=!0,l[`lib.es2019.string.d.ts`]=!0,l[`lib.es2019.symbol.d.ts`]=!0,l[`lib.es2020.bigint.d.ts`]=!0,l[`lib.es2020.d.ts`]=!0,l[`lib.es2020.date.d.ts`]=!0,l[`lib.es2020.full.d.ts`]=!0,l[`lib.es2020.intl.d.ts`]=!0,l[`lib.es2020.number.d.ts`]=!0,l[`lib.es2020.promise.d.ts`]=!0,l[`lib.es2020.sharedmemory.d.ts`]=!0,l[`lib.es2020.string.d.ts`]=!0,l[`lib.es2020.symbol.wellknown.d.ts`]=!0,l[`lib.es2021.d.ts`]=!0,l[`lib.es2021.full.d.ts`]=!0,l[`lib.es2021.intl.d.ts`]=!0,l[`lib.es2021.promise.d.ts`]=!0,l[`lib.es2021.string.d.ts`]=!0,l[`lib.es2021.weakref.d.ts`]=!0,l[`lib.es2022.array.d.ts`]=!0,l[`lib.es2022.d.ts`]=!0,l[`lib.es2022.error.d.ts`]=!0,l[`lib.es2022.full.d.ts`]=!0,l[`lib.es2022.intl.d.ts`]=!0,l[`lib.es2022.object.d.ts`]=!0,l[`lib.es2022.regexp.d.ts`]=!0,l[`lib.es2022.string.d.ts`]=!0,l[`lib.es2023.array.d.ts`]=!0,l[`lib.es2023.collection.d.ts`]=!0,l[`lib.es2023.d.ts`]=!0,l[`lib.es2023.full.d.ts`]=!0,l[`lib.es2023.intl.d.ts`]=!0,l[`lib.es2024.arraybuffer.d.ts`]=!0,l[`lib.es2024.collection.d.ts`]=!0,l[`lib.es2024.d.ts`]=!0,l[`lib.es2024.full.d.ts`]=!0,l[`lib.es2024.object.d.ts`]=!0,l[`lib.es2024.promise.d.ts`]=!0,l[`lib.es2024.regexp.d.ts`]=!0,l[`lib.es2024.sharedmemory.d.ts`]=!0,l[`lib.es2024.string.d.ts`]=!0,l[`lib.es5.d.ts`]=!0,l[`lib.es6.d.ts`]=!0,l[`lib.esnext.array.d.ts`]=!0,l[`lib.esnext.collection.d.ts`]=!0,l[`lib.esnext.d.ts`]=!0,l[`lib.esnext.decorators.d.ts`]=!0,l[`lib.esnext.disposable.d.ts`]=!0,l[`lib.esnext.error.d.ts`]=!0,l[`lib.esnext.float16.d.ts`]=!0,l[`lib.esnext.full.d.ts`]=!0,l[`lib.esnext.intl.d.ts`]=!0,l[`lib.esnext.iterator.d.ts`]=!0,l[`lib.esnext.promise.d.ts`]=!0,l[`lib.esnext.sharedmemory.d.ts`]=!0,l[`lib.scripthost.d.ts`]=!0,l[`lib.webworker.asynciterable.d.ts`]=!0,l[`lib.webworker.d.ts`]=!0,l[`lib.webworker.importscripts.d.ts`]=!0,l[`lib.webworker.iterable.d.ts`]=!0;function u(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=u(i,t,n);return r}function d(e){return e?e.map(e=>e.text).join(``):``}var f=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},p=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e&&e.path.indexOf(`/lib.`)===0?!!l[e.path.slice(1)]:!1}getOrCreateModel(e){let t=n.parse(e),r=a.getModel(t);if(r)return r;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return a.createModel(this._libFiles[t.path.slice(1)],`typescript`,t);let i=o.getExtraLibs()[e];return i?a.createModel(i.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._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},m=class extends f{constructor(e,t,n,r){super(r),this._libFiles=e,this._defaults=t,this._selector=n,this._disposables=[],this._listener=Object.create(null);let i=e=>{if(e.getLanguageId()!==n)return;let t=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},r,i=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),o=e.onDidChangeAttached(()=>{let{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(e.isAttachedToEditor()?t():a.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){i.dispose(),o.dispose(),clearTimeout(r)}},t()},o=e=>{a.setModelMarkers(e,this._selector,[]);let t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(a.onDidCreateModel(e=>i(e))),this._disposables.push(a.onWillDisposeModel(o)),this._disposables.push(a.onDidChangeModelLanguage(e=>{o(e.model),i(e.model)})),this._disposables.push({dispose(){for(let e of a.getModels())o(e)}});let s=()=>{for(let e of a.getModels())o(e),i(e)};this._disposables.push(this._defaults.onDidChange(s)),this._disposables.push(this._defaults.onDidExtraLibsChange(s)),a.getModels().forEach(e=>i(e))}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 r=[],{noSyntaxValidation:i,noSemanticValidation:o,noSuggestionDiagnostics:s}=this._defaults.getDiagnosticsOptions();i||r.push(t.getSyntacticDiagnostics(e.uri.toString())),o||r.push(t.getSemanticDiagnostics(e.uri.toString())),s||r.push(t.getSuggestionDiagnostics(e.uri.toString()));let c=await Promise.all(r);if(!c||e.isDisposed())return;let l=c.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),u=l.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?n.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(u),!e.isDisposed()&&a.setModelMarkers(e,this._selector,l.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){let n=t.start||0,r=t.length||1,{lineNumber:a,column:o}=e.getPositionAt(n),{lineNumber:s,column:c}=e.getPositionAt(n+r),l=[];return t.reportsUnnecessary&&l.push(i.Unnecessary),t.reportsDeprecated&&l.push(i.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:a,startColumn:o,endLineNumber:s,endColumn:c,message:u(t.messageText,`
|
|
2
2
|
`),code:t.code.toString(),tags:l,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];let n=[];return t.forEach(t=>{let r=e;if(t.file&&(r=this._libFiles.getOrCreateModel(t.file.fileName)),!r)return;let i=t.start||0,a=t.length||1,{lineNumber:o,column:s}=r.getPositionAt(i),{lineNumber:c,column:l}=r.getPositionAt(i+a);n.push({resource:r.uri,startLineNumber:o,startColumn:s,endLineNumber:c,endColumn:l,message:u(t.messageText,`
|
|
3
3
|
`)})}),n}_tsDiagnosticCategoryToMarkerSeverity(t){switch(t){case 1:return e.Error;case 3:return e.Info;case 0:return e.Warning;case 2:return e.Hint}return e.Info}},h=class e extends f{get triggerCharacters(){return[`.`]}async provideCompletionItems(n,i,a,o){let s=n.getWordUntilPosition(i),c=new t(i.lineNumber,s.startColumn,i.lineNumber,s.endColumn),l=n.uri,u=n.getOffsetAt(i),d=await this._worker(l);if(n.isDisposed())return;let f=await d.getCompletionsAtPosition(l.toString(),u);if(!(!f||n.isDisposed()))return{suggestions:f.entries.map(a=>{let o=c;if(a.replacementSpan){let e=n.getPositionAt(a.replacementSpan.start),r=n.getPositionAt(a.replacementSpan.start+a.replacementSpan.length);o=new t(e.lineNumber,e.column,r.lineNumber,r.column)}let s=[];return a.kindModifiers!==void 0&&a.kindModifiers.indexOf(`deprecated`)!==-1&&s.push(r.CompletionItemTag.Deprecated),{uri:l,position:i,offset:u,range:o,label:a.name,insertText:a.name,sortText:a.sortText,kind:e.convertKind(a.kind),tags:s}})}}async resolveCompletionItem(t,n){let r=t,i=r.uri,a=r.position,o=r.offset,s=await(await this._worker(i)).getCompletionEntryDetails(i.toString(),o,r.label);return s?{uri:i,position:a,label:s.name,kind:e.convertKind(s.kind),detail:d(s.displayParts),documentation:{value:e.createDocumentationString(s)}}:r}static convertKind(e){switch(e){case C.primitiveType:case C.keyword:return r.CompletionItemKind.Keyword;case C.variable:case C.localVariable:return r.CompletionItemKind.Variable;case C.memberVariable:case C.memberGetAccessor:case C.memberSetAccessor:return r.CompletionItemKind.Field;case C.function:case C.memberFunction:case C.constructSignature:case C.callSignature:case C.indexSignature:return r.CompletionItemKind.Function;case C.enum:return r.CompletionItemKind.Enum;case C.module:return r.CompletionItemKind.Module;case C.class:return r.CompletionItemKind.Class;case C.interface:return r.CompletionItemKind.Interface;case C.warning:return r.CompletionItemKind.File}return r.CompletionItemKind.Property}static createDocumentationString(e){let t=d(e.documentation);if(e.tags)for(let n of e.tags)t+=`
|
|
4
4
|
|
|
@@ -9,4 +9,4 @@ ${g(n)}`;return t}};function g(e){let t=`*@${e.name}*`;if(e.name===`param`&&e.te
|
|
|
9
9
|
`+c:``)}]}}},y=class extends f{async provideDocumentHighlights(e,t,n){let i=e.uri,a=e.getOffsetAt(t),o=await this._worker(i);if(e.isDisposed())return;let s=await o.getDocumentHighlights(i.toString(),a,[i.toString()]);if(!(!s||e.isDisposed()))return s.flatMap(t=>t.highlightSpans.map(t=>({range:this._textSpanToRange(e,t.textSpan),kind:t.kind===`writtenReference`?r.DocumentHighlightKind.Write:r.DocumentHighlightKind.Text})))}},b=class extends f{constructor(e,t){super(t),this._libFiles=e}async provideDefinition(e,t,r){let i=e.uri,a=e.getOffsetAt(t),o=await this._worker(i);if(e.isDisposed())return;let s=await o.getDefinitionAtPosition(i.toString(),a);if(!s||e.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(s.map(e=>n.parse(e.fileName))),e.isDisposed()))return;let c=[];for(let e of s){let t=this._libFiles.getOrCreateModel(e.fileName);t&&c.push({uri:t.uri,range:this._textSpanToRange(t,e.textSpan)})}return c}},x=class extends f{constructor(e,t){super(t),this._libFiles=e}async provideReferences(e,t,r,i){let a=e.uri,o=e.getOffsetAt(t),s=await this._worker(a);if(e.isDisposed())return;let c=await s.getReferencesAtPosition(a.toString(),o);if(!c||e.isDisposed()||(await this._libFiles.fetchLibFilesIfNecessary(c.map(e=>n.parse(e.fileName))),e.isDisposed()))return;let l=[];for(let e of c){let t=this._libFiles.getOrCreateModel(e.fileName);t&&l.push({uri:t.uri,range:this._textSpanToRange(t,e.textSpan)})}return l}},S=class extends f{async provideDocumentSymbols(e,t){let n=e.uri,i=await this._worker(n);if(e.isDisposed())return;let a=await i.getNavigationTree(n.toString());if(!a||e.isDisposed())return;let o=(t,n)=>({name:t.text,detail:``,kind:w[t.kind]||r.SymbolKind.Variable,range:this._textSpanToRange(e,t.spans[0]),selectionRange:this._textSpanToRange(e,t.spans[0]),tags:[],children:t.childItems?.map(e=>o(e,t.text)),containerName:n});return a.childItems?a.childItems.map(e=>o(e)):[]}},C=class{};C.unknown=``,C.keyword=`keyword`,C.script=`script`,C.module=`module`,C.class=`class`,C.interface=`interface`,C.type=`type`,C.enum=`enum`,C.variable=`var`,C.localVariable=`local var`,C.function=`function`,C.localFunction=`local function`,C.memberFunction=`method`,C.memberGetAccessor=`getter`,C.memberSetAccessor=`setter`,C.memberVariable=`property`,C.constructorImplementation=`constructor`,C.callSignature=`call`,C.indexSignature=`index`,C.constructSignature=`construct`,C.parameter=`parameter`,C.typeParameter=`type parameter`,C.primitiveType=`primitive type`,C.label=`label`,C.alias=`alias`,C.const=`const`,C.let=`let`,C.warning=`warning`;var w=Object.create(null);w[C.module]=r.SymbolKind.Module,w[C.class]=r.SymbolKind.Class,w[C.enum]=r.SymbolKind.Enum,w[C.interface]=r.SymbolKind.Interface,w[C.memberFunction]=r.SymbolKind.Method,w[C.memberVariable]=r.SymbolKind.Property,w[C.memberGetAccessor]=r.SymbolKind.Property,w[C.memberSetAccessor]=r.SymbolKind.Property,w[C.variable]=r.SymbolKind.Variable,w[C.const]=r.SymbolKind.Variable,w[C.localVariable]=r.SymbolKind.Variable,w[C.variable]=r.SymbolKind.Variable,w[C.function]=r.SymbolKind.Function,w[C.localFunction]=r.SymbolKind.Function;var T=class extends f{static _convertOptions(e){return{ConvertTabsToSpaces:e.insertSpaces,TabSize:e.tabSize,IndentSize:e.tabSize,IndentStyle:2,NewLineCharacter:`
|
|
10
10
|
`,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)}}},E=class extends T{constructor(){super(...arguments),this.canFormatMultipleRanges=!1}async provideDocumentRangeFormattingEdits(e,t,n,r){let i=e.uri,a=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=await this._worker(i);if(e.isDisposed())return;let c=await s.getFormattingEditsForRange(i.toString(),a,o,T._convertOptions(n));if(!(!c||e.isDisposed()))return c.map(t=>this._convertTextChanges(e,t))}},D=class extends T{get autoFormatTriggerCharacters(){return[`;`,`}`,`
|
|
11
11
|
`]}async provideOnTypeFormattingEdits(e,t,n,r,i){let a=e.uri,o=e.getOffsetAt(t),s=await this._worker(a);if(e.isDisposed())return;let c=await s.getFormattingEditsAfterKeystroke(a.toString(),o,n,T._convertOptions(r));if(!(!c||e.isDisposed()))return c.map(t=>this._convertTextChanges(e,t))}},O=class extends T{async provideCodeActions(e,t,n,r){let i=e.uri,a=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=T._convertOptions(e.getOptions()),c=n.markers.filter(e=>e.code).map(e=>e.code).map(Number),l=await this._worker(i);if(e.isDisposed())return;let u=await l.getCodeFixesAtPosition(i.toString(),a,o,c,s);return!u||e.isDisposed()?{actions:[],dispose:()=>{}}:{actions:u.filter(e=>e.changes.filter(e=>e.isNewFile).length===0).map(t=>this._tsCodeFixActionToMonacoCodeAction(e,n,t)),dispose:()=>{}}}_tsCodeFixActionToMonacoCodeAction(e,t,n){let r=[];for(let t of n.changes)for(let n of t.textChanges)r.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,n.span),text:n.newText}});return{title:n.description,edit:{edits:r},diagnostics:t.markers,kind:`quickfix`}}},k=class extends f{constructor(e,t){super(t),this._libFiles=e}async provideRenameEdits(e,t,n,r){let i=e.uri,a=i.toString(),o=e.getOffsetAt(t),s=await this._worker(i);if(e.isDisposed())return;let c=await s.getRenameInfo(a,o,{allowRenameOfImportPath:!1});if(c.canRename===!1)return{edits:[],rejectReason:c.localizedErrorMessage};if(c.fileToRename!==void 0)throw Error(`Renaming files is not supported.`);let l=await s.findRenameLocations(a,o,!1,!1,!1);if(!l||e.isDisposed())return;let u=[];for(let e of l){let t=this._libFiles.getOrCreateModel(e.fileName);if(t)u.push({resource:t.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(t,e.textSpan),text:n}});else throw Error(`Unknown file ${e.fileName}.`)}return{edits:u}}},A=class extends f{async provideInlayHints(e,t,n){let r=e.uri,i=r.toString(),a=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),o=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),s=await this._worker(r);return e.isDisposed()?null:{hints:(await s.provideInlayHints(i,a,o)).map(t=>({...t,label:t.text,position:e.getPositionAt(t.position),kind:this._convertHintKind(t.kind)})),dispose:()=>{}}}_convertHintKind(e){switch(e){case`Parameter`:return r.InlayHintKind.Parameter;case`Type`:return r.InlayHintKind.Type;default:return r.InlayHintKind.Type}}},j,M;function N(e){M=L(e,`typescript`)}function P(e){j=L(e,`javascript`)}function F(){return new Promise((e,t)=>{if(!j)return t(`JavaScript not registered!`);e(j)})}function I(){return new Promise((e,t)=>{if(!M)return t(`TypeScript not registered!`);e(M)})}function L(e,t){let n=[],i=new c(t,e),a=(...e)=>i.getLanguageServiceWorker(...e),o=new p(a);function s(){let{modeConfiguration:i}=e;R(n),i.completionItems&&n.push(r.registerCompletionItemProvider(t,new h(a))),i.signatureHelp&&n.push(r.registerSignatureHelpProvider(t,new _(a))),i.hovers&&n.push(r.registerHoverProvider(t,new v(a))),i.documentHighlights&&n.push(r.registerDocumentHighlightProvider(t,new y(a))),i.definitions&&n.push(r.registerDefinitionProvider(t,new b(o,a))),i.references&&n.push(r.registerReferenceProvider(t,new x(o,a))),i.documentSymbols&&n.push(r.registerDocumentSymbolProvider(t,new S(a))),i.rename&&n.push(r.registerRenameProvider(t,new k(o,a))),i.documentRangeFormattingEdits&&n.push(r.registerDocumentRangeFormattingEditProvider(t,new E(a))),i.onTypeFormattingEdits&&n.push(r.registerOnTypeFormattingEditProvider(t,new D(a))),i.codeActions&&n.push(r.registerCodeActionProvider(t,new O(a))),i.inlayHints&&n.push(r.registerInlayHintsProvider(t,new A(a))),i.diagnostics&&n.push(new m(o,e,t,a))}return s(),a}function R(e){for(;e.length;)e.pop().dispose()}export{f as Adapter,O as CodeActionAdaptor,b as DefinitionAdapter,m as DiagnosticsAdapter,y as DocumentHighlightAdapter,E as FormatAdapter,T as FormatHelper,D as FormatOnTypeAdapter,A as InlayHintsAdapter,C as Kind,p as LibFiles,S as OutlineAdapter,v as QuickInfoAdapter,x as ReferenceAdapter,k as RenameAdapter,_ as SignatureHelpAdapter,h as SuggestAdapter,c as WorkerManager,u as flattenDiagnosticMessageText,F as getJavaScriptWorker,I as getTypeScriptWorker,P as setupJavaScript,N as setupTypeScript};
|
|
12
|
-
//# sourceMappingURL=tsMode-
|
|
12
|
+
//# sourceMappingURL=tsMode-B2vhKML7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsMode-B8Haz2NH.js","names":[],"sources":["../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/typescript/workerManager.js","../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/typescript/lib/lib.index.js","../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/typescript/languageFeatures.js","../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js"],"sourcesContent":["import '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { editor } from '../../editor/editor.api2.js';\nimport { createWebWorker } from '../../common/workers.js';\n\nclass WorkerManager {\n constructor(_modeId, _defaults) {\n this._modeId = _modeId;\n this._defaults = _defaults;\n this._worker = null;\n this._client = null;\n this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());\n this._updateExtraLibsToken = 0;\n this._extraLibsChangeListener = this._defaults.onDidExtraLibsChange(\n () => this._updateExtraLibs()\n );\n }\n dispose() {\n this._configChangeListener.dispose();\n this._extraLibsChangeListener.dispose();\n this._stopWorker();\n }\n _stopWorker() {\n if (this._worker) {\n this._worker.dispose();\n this._worker = null;\n }\n this._client = null;\n }\n async _updateExtraLibs() {\n if (!this._worker) {\n return;\n }\n const myToken = ++this._updateExtraLibsToken;\n const proxy = await this._worker.getProxy();\n if (this._updateExtraLibsToken !== myToken) {\n return;\n }\n proxy.updateExtraLibs(this._defaults.getExtraLibs());\n }\n _getClient() {\n if (!this._client) {\n this._client = (async () => {\n this._worker = createWebWorker({\n // module that exports the create() method and returns a `TypeScriptWorker` instance\n moduleId: \"vs/language/typescript/tsWorker\",\n createWorker: () => new Worker(new URL('ts.worker.js', import.meta.url), { type: \"module\" }),\n label: this._modeId,\n keepIdleModels: true,\n // passed in to the create() method\n createData: {\n compilerOptions: this._defaults.getCompilerOptions(),\n extraLibs: this._defaults.getExtraLibs(),\n customWorkerPath: this._defaults.workerOptions.customWorkerPath,\n inlayHintsOptions: this._defaults.inlayHintsOptions\n }\n });\n if (this._defaults.getEagerModelSync()) {\n return await this._worker.withSyncedResources(\n editor.getModels().filter((model) => model.getLanguageId() === this._modeId).map((model) => model.uri)\n );\n }\n return await this._worker.getProxy();\n })();\n }\n return this._client;\n }\n async getLanguageServiceWorker(...resources) {\n const client = await this._getClient();\n if (this._worker) {\n await this._worker.withSyncedResources(resources);\n }\n return client;\n }\n}\n\nexport { WorkerManager };\n","const libFileSet = {};\nlibFileSet[\"lib.d.ts\"] = true;\nlibFileSet[\"lib.decorators.d.ts\"] = true;\nlibFileSet[\"lib.decorators.legacy.d.ts\"] = true;\nlibFileSet[\"lib.dom.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.dom.d.ts\"] = true;\nlibFileSet[\"lib.dom.iterable.d.ts\"] = true;\nlibFileSet[\"lib.es2015.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2015.core.d.ts\"] = true;\nlibFileSet[\"lib.es2015.d.ts\"] = true;\nlibFileSet[\"lib.es2015.generator.d.ts\"] = true;\nlibFileSet[\"lib.es2015.iterable.d.ts\"] = true;\nlibFileSet[\"lib.es2015.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2015.proxy.d.ts\"] = true;\nlibFileSet[\"lib.es2015.reflect.d.ts\"] = true;\nlibFileSet[\"lib.es2015.symbol.d.ts\"] = true;\nlibFileSet[\"lib.es2015.symbol.wellknown.d.ts\"] = true;\nlibFileSet[\"lib.es2016.array.include.d.ts\"] = true;\nlibFileSet[\"lib.es2016.d.ts\"] = true;\nlibFileSet[\"lib.es2016.full.d.ts\"] = true;\nlibFileSet[\"lib.es2016.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2017.arraybuffer.d.ts\"] = true;\nlibFileSet[\"lib.es2017.d.ts\"] = true;\nlibFileSet[\"lib.es2017.date.d.ts\"] = true;\nlibFileSet[\"lib.es2017.full.d.ts\"] = true;\nlibFileSet[\"lib.es2017.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2017.object.d.ts\"] = true;\nlibFileSet[\"lib.es2017.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2017.string.d.ts\"] = true;\nlibFileSet[\"lib.es2017.typedarrays.d.ts\"] = true;\nlibFileSet[\"lib.es2018.asyncgenerator.d.ts\"] = true;\nlibFileSet[\"lib.es2018.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.es2018.d.ts\"] = true;\nlibFileSet[\"lib.es2018.full.d.ts\"] = true;\nlibFileSet[\"lib.es2018.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2018.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2018.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2019.array.d.ts\"] = true;\nlibFileSet[\"lib.es2019.d.ts\"] = true;\nlibFileSet[\"lib.es2019.full.d.ts\"] = true;\nlibFileSet[\"lib.es2019.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2019.object.d.ts\"] = true;\nlibFileSet[\"lib.es2019.string.d.ts\"] = true;\nlibFileSet[\"lib.es2019.symbol.d.ts\"] = true;\nlibFileSet[\"lib.es2020.bigint.d.ts\"] = true;\nlibFileSet[\"lib.es2020.d.ts\"] = true;\nlibFileSet[\"lib.es2020.date.d.ts\"] = true;\nlibFileSet[\"lib.es2020.full.d.ts\"] = true;\nlibFileSet[\"lib.es2020.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2020.number.d.ts\"] = true;\nlibFileSet[\"lib.es2020.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2020.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2020.string.d.ts\"] = true;\nlibFileSet[\"lib.es2020.symbol.wellknown.d.ts\"] = true;\nlibFileSet[\"lib.es2021.d.ts\"] = true;\nlibFileSet[\"lib.es2021.full.d.ts\"] = true;\nlibFileSet[\"lib.es2021.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2021.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2021.string.d.ts\"] = true;\nlibFileSet[\"lib.es2021.weakref.d.ts\"] = true;\nlibFileSet[\"lib.es2022.array.d.ts\"] = true;\nlibFileSet[\"lib.es2022.d.ts\"] = true;\nlibFileSet[\"lib.es2022.error.d.ts\"] = true;\nlibFileSet[\"lib.es2022.full.d.ts\"] = true;\nlibFileSet[\"lib.es2022.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2022.object.d.ts\"] = true;\nlibFileSet[\"lib.es2022.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2022.string.d.ts\"] = true;\nlibFileSet[\"lib.es2023.array.d.ts\"] = true;\nlibFileSet[\"lib.es2023.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2023.d.ts\"] = true;\nlibFileSet[\"lib.es2023.full.d.ts\"] = true;\nlibFileSet[\"lib.es2023.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2024.arraybuffer.d.ts\"] = true;\nlibFileSet[\"lib.es2024.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2024.d.ts\"] = true;\nlibFileSet[\"lib.es2024.full.d.ts\"] = true;\nlibFileSet[\"lib.es2024.object.d.ts\"] = true;\nlibFileSet[\"lib.es2024.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2024.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2024.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2024.string.d.ts\"] = true;\nlibFileSet[\"lib.es5.d.ts\"] = true;\nlibFileSet[\"lib.es6.d.ts\"] = true;\nlibFileSet[\"lib.esnext.array.d.ts\"] = true;\nlibFileSet[\"lib.esnext.collection.d.ts\"] = true;\nlibFileSet[\"lib.esnext.d.ts\"] = true;\nlibFileSet[\"lib.esnext.decorators.d.ts\"] = true;\nlibFileSet[\"lib.esnext.disposable.d.ts\"] = true;\nlibFileSet[\"lib.esnext.error.d.ts\"] = true;\nlibFileSet[\"lib.esnext.float16.d.ts\"] = true;\nlibFileSet[\"lib.esnext.full.d.ts\"] = true;\nlibFileSet[\"lib.esnext.intl.d.ts\"] = true;\nlibFileSet[\"lib.esnext.iterator.d.ts\"] = true;\nlibFileSet[\"lib.esnext.promise.d.ts\"] = true;\nlibFileSet[\"lib.esnext.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.scripthost.d.ts\"] = true;\nlibFileSet[\"lib.webworker.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.webworker.d.ts\"] = true;\nlibFileSet[\"lib.webworker.importscripts.d.ts\"] = true;\nlibFileSet[\"lib.webworker.iterable.d.ts\"] = true;\n\nexport { libFileSet };\n","import { typescriptDefaults } from './monaco.contribution.js';\nimport { libFileSet } from './lib/lib.index.js';\nimport '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { Uri, editor, MarkerTag, MarkerSeverity, Range, languages } from '../../editor/editor.api2.js';\n\nfunction flattenDiagnosticMessageText(diag, newLine, indent = 0) {\n if (typeof diag === \"string\") {\n return diag;\n } else if (diag === void 0) {\n return \"\";\n }\n let result = \"\";\n if (indent) {\n result += newLine;\n for (let i = 0; i < indent; i++) {\n result += \" \";\n }\n }\n result += diag.messageText;\n indent++;\n if (diag.next) {\n for (const kid of diag.next) {\n result += flattenDiagnosticMessageText(kid, newLine, indent);\n }\n }\n return result;\n}\nfunction displayPartsToString(displayParts) {\n if (displayParts) {\n return displayParts.map((displayPart) => displayPart.text).join(\"\");\n }\n return \"\";\n}\nclass Adapter {\n constructor(_worker) {\n this._worker = _worker;\n }\n // protected _positionToOffset(model: editor.ITextModel, position: monaco.IPosition): number {\n // \treturn model.getOffsetAt(position);\n // }\n // protected _offsetToPosition(model: editor.ITextModel, offset: number): monaco.IPosition {\n // \treturn model.getPositionAt(offset);\n // }\n _textSpanToRange(model, span) {\n let p1 = model.getPositionAt(span.start);\n let p2 = model.getPositionAt(span.start + span.length);\n let { lineNumber: startLineNumber, column: startColumn } = p1;\n let { lineNumber: endLineNumber, column: endColumn } = p2;\n return { startLineNumber, startColumn, endLineNumber, endColumn };\n }\n}\nclass LibFiles {\n constructor(_worker) {\n this._worker = _worker;\n this._libFiles = {};\n this._hasFetchedLibFiles = false;\n this._fetchLibFilesPromise = null;\n }\n isLibFile(uri) {\n if (!uri) {\n return false;\n }\n if (uri.path.indexOf(\"/lib.\") === 0) {\n return !!libFileSet[uri.path.slice(1)];\n }\n return false;\n }\n getOrCreateModel(fileName) {\n const uri = Uri.parse(fileName);\n const model = editor.getModel(uri);\n if (model) {\n return model;\n }\n if (this.isLibFile(uri) && this._hasFetchedLibFiles) {\n return editor.createModel(this._libFiles[uri.path.slice(1)], \"typescript\", uri);\n }\n const matchedLibFile = typescriptDefaults.getExtraLibs()[fileName];\n if (matchedLibFile) {\n return editor.createModel(matchedLibFile.content, \"typescript\", uri);\n }\n return null;\n }\n _containsLibFile(uris) {\n for (let uri of uris) {\n if (this.isLibFile(uri)) {\n return true;\n }\n }\n return false;\n }\n async fetchLibFilesIfNecessary(uris) {\n if (!this._containsLibFile(uris)) {\n return;\n }\n await this._fetchLibFiles();\n }\n _fetchLibFiles() {\n if (!this._fetchLibFilesPromise) {\n this._fetchLibFilesPromise = this._worker().then((w) => w.getLibFiles()).then((libFiles) => {\n this._hasFetchedLibFiles = true;\n this._libFiles = libFiles;\n });\n }\n return this._fetchLibFilesPromise;\n }\n}\nclass DiagnosticsAdapter extends Adapter {\n constructor(_libFiles, _defaults, _selector, worker) {\n super(worker);\n this._libFiles = _libFiles;\n this._defaults = _defaults;\n this._selector = _selector;\n this._disposables = [];\n this._listener = /* @__PURE__ */ Object.create(null);\n const onModelAdd = (model) => {\n if (model.getLanguageId() !== _selector) {\n return;\n }\n const maybeValidate = () => {\n const { onlyVisible } = this._defaults.getDiagnosticsOptions();\n if (onlyVisible) {\n if (model.isAttachedToEditor()) {\n this._doValidate(model);\n }\n } else {\n this._doValidate(model);\n }\n };\n let handle;\n const changeSubscription = model.onDidChangeContent(() => {\n clearTimeout(handle);\n handle = window.setTimeout(maybeValidate, 500);\n });\n const visibleSubscription = model.onDidChangeAttached(() => {\n const { onlyVisible } = this._defaults.getDiagnosticsOptions();\n if (onlyVisible) {\n if (model.isAttachedToEditor()) {\n maybeValidate();\n } else {\n editor.setModelMarkers(model, this._selector, []);\n }\n }\n });\n this._listener[model.uri.toString()] = {\n dispose() {\n changeSubscription.dispose();\n visibleSubscription.dispose();\n clearTimeout(handle);\n }\n };\n maybeValidate();\n };\n const onModelRemoved = (model) => {\n editor.setModelMarkers(model, this._selector, []);\n const key = model.uri.toString();\n if (this._listener[key]) {\n this._listener[key].dispose();\n delete this._listener[key];\n }\n };\n this._disposables.push(\n editor.onDidCreateModel((model) => onModelAdd(model))\n );\n this._disposables.push(editor.onWillDisposeModel(onModelRemoved));\n this._disposables.push(\n editor.onDidChangeModelLanguage((event) => {\n onModelRemoved(event.model);\n onModelAdd(event.model);\n })\n );\n this._disposables.push({\n dispose() {\n for (const model of editor.getModels()) {\n onModelRemoved(model);\n }\n }\n });\n const recomputeDiagostics = () => {\n for (const model of editor.getModels()) {\n onModelRemoved(model);\n onModelAdd(model);\n }\n };\n this._disposables.push(this._defaults.onDidChange(recomputeDiagostics));\n this._disposables.push(this._defaults.onDidExtraLibsChange(recomputeDiagostics));\n editor.getModels().forEach((model) => onModelAdd(model));\n }\n dispose() {\n this._disposables.forEach((d) => d && d.dispose());\n this._disposables = [];\n }\n async _doValidate(model) {\n const worker = await this._worker(model.uri);\n if (model.isDisposed()) {\n return;\n }\n const promises = [];\n const { noSyntaxValidation, noSemanticValidation, noSuggestionDiagnostics } = this._defaults.getDiagnosticsOptions();\n if (!noSyntaxValidation) {\n promises.push(worker.getSyntacticDiagnostics(model.uri.toString()));\n }\n if (!noSemanticValidation) {\n promises.push(worker.getSemanticDiagnostics(model.uri.toString()));\n }\n if (!noSuggestionDiagnostics) {\n promises.push(worker.getSuggestionDiagnostics(model.uri.toString()));\n }\n const allDiagnostics = await Promise.all(promises);\n if (!allDiagnostics || model.isDisposed()) {\n return;\n }\n const diagnostics = allDiagnostics.reduce((p, c) => c.concat(p), []).filter(\n (d) => (this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore || []).indexOf(d.code) === -1\n );\n const relatedUris = diagnostics.map((d) => d.relatedInformation || []).reduce((p, c) => c.concat(p), []).map(\n (relatedInformation) => relatedInformation.file ? Uri.parse(relatedInformation.file.fileName) : null\n );\n await this._libFiles.fetchLibFilesIfNecessary(relatedUris);\n if (model.isDisposed()) {\n return;\n }\n editor.setModelMarkers(\n model,\n this._selector,\n diagnostics.map((d) => this._convertDiagnostics(model, d))\n );\n }\n _convertDiagnostics(model, diag) {\n const diagStart = diag.start || 0;\n const diagLength = diag.length || 1;\n const { lineNumber: startLineNumber, column: startColumn } = model.getPositionAt(diagStart);\n const { lineNumber: endLineNumber, column: endColumn } = model.getPositionAt(\n diagStart + diagLength\n );\n const tags = [];\n if (diag.reportsUnnecessary) {\n tags.push(MarkerTag.Unnecessary);\n }\n if (diag.reportsDeprecated) {\n tags.push(MarkerTag.Deprecated);\n }\n return {\n severity: this._tsDiagnosticCategoryToMarkerSeverity(diag.category),\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n message: flattenDiagnosticMessageText(diag.messageText, \"\\n\"),\n code: diag.code.toString(),\n tags,\n relatedInformation: this._convertRelatedInformation(model, diag.relatedInformation)\n };\n }\n _convertRelatedInformation(model, relatedInformation) {\n if (!relatedInformation) {\n return [];\n }\n const result = [];\n relatedInformation.forEach((info) => {\n let relatedResource = model;\n if (info.file) {\n relatedResource = this._libFiles.getOrCreateModel(info.file.fileName);\n }\n if (!relatedResource) {\n return;\n }\n const infoStart = info.start || 0;\n const infoLength = info.length || 1;\n const { lineNumber: startLineNumber, column: startColumn } = relatedResource.getPositionAt(infoStart);\n const { lineNumber: endLineNumber, column: endColumn } = relatedResource.getPositionAt(\n infoStart + infoLength\n );\n result.push({\n resource: relatedResource.uri,\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n message: flattenDiagnosticMessageText(info.messageText, \"\\n\")\n });\n });\n return result;\n }\n _tsDiagnosticCategoryToMarkerSeverity(category) {\n switch (category) {\n case 1 /* Error */:\n return MarkerSeverity.Error;\n case 3 /* Message */:\n return MarkerSeverity.Info;\n case 0 /* Warning */:\n return MarkerSeverity.Warning;\n case 2 /* Suggestion */:\n return MarkerSeverity.Hint;\n }\n return MarkerSeverity.Info;\n }\n}\nclass SuggestAdapter extends Adapter {\n get triggerCharacters() {\n return [\".\"];\n }\n async provideCompletionItems(model, position, _context, token) {\n const wordInfo = model.getWordUntilPosition(position);\n const wordRange = new Range(\n position.lineNumber,\n wordInfo.startColumn,\n position.lineNumber,\n wordInfo.endColumn\n );\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getCompletionsAtPosition(resource.toString(), offset);\n if (!info || model.isDisposed()) {\n return;\n }\n const suggestions = info.entries.map((entry) => {\n let range = wordRange;\n if (entry.replacementSpan) {\n const p1 = model.getPositionAt(entry.replacementSpan.start);\n const p2 = model.getPositionAt(entry.replacementSpan.start + entry.replacementSpan.length);\n range = new Range(p1.lineNumber, p1.column, p2.lineNumber, p2.column);\n }\n const tags = [];\n if (entry.kindModifiers !== void 0 && entry.kindModifiers.indexOf(\"deprecated\") !== -1) {\n tags.push(languages.CompletionItemTag.Deprecated);\n }\n return {\n uri: resource,\n position,\n offset,\n range,\n label: entry.name,\n insertText: entry.name,\n sortText: entry.sortText,\n kind: SuggestAdapter.convertKind(entry.kind),\n tags\n };\n });\n return {\n suggestions\n };\n }\n async resolveCompletionItem(item, token) {\n const myItem = item;\n const resource = myItem.uri;\n const position = myItem.position;\n const offset = myItem.offset;\n const worker = await this._worker(resource);\n const details = await worker.getCompletionEntryDetails(\n resource.toString(),\n offset,\n myItem.label\n );\n if (!details) {\n return myItem;\n }\n return {\n uri: resource,\n position,\n label: details.name,\n kind: SuggestAdapter.convertKind(details.kind),\n detail: displayPartsToString(details.displayParts),\n documentation: {\n value: SuggestAdapter.createDocumentationString(details)\n }\n };\n }\n static convertKind(kind) {\n switch (kind) {\n case Kind.primitiveType:\n case Kind.keyword:\n return languages.CompletionItemKind.Keyword;\n case Kind.variable:\n case Kind.localVariable:\n return languages.CompletionItemKind.Variable;\n case Kind.memberVariable:\n case Kind.memberGetAccessor:\n case Kind.memberSetAccessor:\n return languages.CompletionItemKind.Field;\n case Kind.function:\n case Kind.memberFunction:\n case Kind.constructSignature:\n case Kind.callSignature:\n case Kind.indexSignature:\n return languages.CompletionItemKind.Function;\n case Kind.enum:\n return languages.CompletionItemKind.Enum;\n case Kind.module:\n return languages.CompletionItemKind.Module;\n case Kind.class:\n return languages.CompletionItemKind.Class;\n case Kind.interface:\n return languages.CompletionItemKind.Interface;\n case Kind.warning:\n return languages.CompletionItemKind.File;\n }\n return languages.CompletionItemKind.Property;\n }\n static createDocumentationString(details) {\n let documentationString = displayPartsToString(details.documentation);\n if (details.tags) {\n for (const tag of details.tags) {\n documentationString += `\n\n${tagToString(tag)}`;\n }\n }\n return documentationString;\n }\n}\nfunction tagToString(tag) {\n let tagLabel = `*@${tag.name}*`;\n if (tag.name === \"param\" && tag.text) {\n const [paramName, ...rest] = tag.text;\n tagLabel += `\\`${paramName.text}\\``;\n if (rest.length > 0) tagLabel += ` \\u2014 ${rest.map((r) => r.text).join(\" \")}`;\n } else if (Array.isArray(tag.text)) {\n tagLabel += ` \\u2014 ${tag.text.map((r) => r.text).join(\" \")}`;\n } else if (tag.text) {\n tagLabel += ` \\u2014 ${tag.text}`;\n }\n return tagLabel;\n}\nclass SignatureHelpAdapter extends Adapter {\n constructor() {\n super(...arguments);\n this.signatureHelpTriggerCharacters = [\"(\", \",\"];\n }\n static _toSignatureHelpTriggerReason(context) {\n switch (context.triggerKind) {\n case languages.SignatureHelpTriggerKind.TriggerCharacter:\n if (context.triggerCharacter) {\n if (context.isRetrigger) {\n return { kind: \"retrigger\", triggerCharacter: context.triggerCharacter };\n } else {\n return { kind: \"characterTyped\", triggerCharacter: context.triggerCharacter };\n }\n } else {\n return { kind: \"invoked\" };\n }\n case languages.SignatureHelpTriggerKind.ContentChange:\n return context.isRetrigger ? { kind: \"retrigger\" } : { kind: \"invoked\" };\n case languages.SignatureHelpTriggerKind.Invoke:\n default:\n return { kind: \"invoked\" };\n }\n }\n async provideSignatureHelp(model, position, token, context) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getSignatureHelpItems(resource.toString(), offset, {\n triggerReason: SignatureHelpAdapter._toSignatureHelpTriggerReason(context)\n });\n if (!info || model.isDisposed()) {\n return;\n }\n const ret = {\n activeSignature: info.selectedItemIndex,\n activeParameter: info.argumentIndex,\n signatures: []\n };\n info.items.forEach((item) => {\n const signature = {\n label: \"\",\n parameters: []\n };\n signature.documentation = {\n value: displayPartsToString(item.documentation)\n };\n signature.label += displayPartsToString(item.prefixDisplayParts);\n item.parameters.forEach((p, i, a) => {\n const label = displayPartsToString(p.displayParts);\n const parameter = {\n label,\n documentation: {\n value: displayPartsToString(p.documentation)\n }\n };\n signature.label += label;\n signature.parameters.push(parameter);\n if (i < a.length - 1) {\n signature.label += displayPartsToString(item.separatorDisplayParts);\n }\n });\n signature.label += displayPartsToString(item.suffixDisplayParts);\n ret.signatures.push(signature);\n });\n return {\n value: ret,\n dispose() {\n }\n };\n }\n}\nclass QuickInfoAdapter extends Adapter {\n async provideHover(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getQuickInfoAtPosition(resource.toString(), offset);\n if (!info || model.isDisposed()) {\n return;\n }\n const documentation = displayPartsToString(info.documentation);\n const tags = info.tags ? info.tags.map((tag) => tagToString(tag)).join(\" \\n\\n\") : \"\";\n const contents = displayPartsToString(info.displayParts);\n return {\n range: this._textSpanToRange(model, info.textSpan),\n contents: [\n {\n value: \"```typescript\\n\" + contents + \"\\n```\\n\"\n },\n {\n value: documentation + (tags ? \"\\n\\n\" + tags : \"\")\n }\n ]\n };\n }\n}\nclass DocumentHighlightAdapter extends Adapter {\n async provideDocumentHighlights(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getDocumentHighlights(resource.toString(), offset, [\n resource.toString()\n ]);\n if (!entries || model.isDisposed()) {\n return;\n }\n return entries.flatMap((entry) => {\n return entry.highlightSpans.map((highlightSpans) => {\n return {\n range: this._textSpanToRange(model, highlightSpans.textSpan),\n kind: highlightSpans.kind === \"writtenReference\" ? languages.DocumentHighlightKind.Write : languages.DocumentHighlightKind.Text\n };\n });\n });\n }\n}\nclass DefinitionAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideDefinition(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getDefinitionAtPosition(resource.toString(), offset);\n if (!entries || model.isDisposed()) {\n return;\n }\n await this._libFiles.fetchLibFilesIfNecessary(\n entries.map((entry) => Uri.parse(entry.fileName))\n );\n if (model.isDisposed()) {\n return;\n }\n const result = [];\n for (let entry of entries) {\n const refModel = this._libFiles.getOrCreateModel(entry.fileName);\n if (refModel) {\n result.push({\n uri: refModel.uri,\n range: this._textSpanToRange(refModel, entry.textSpan)\n });\n }\n }\n return result;\n }\n}\nclass ReferenceAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideReferences(model, position, context, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getReferencesAtPosition(resource.toString(), offset);\n if (!entries || model.isDisposed()) {\n return;\n }\n await this._libFiles.fetchLibFilesIfNecessary(\n entries.map((entry) => Uri.parse(entry.fileName))\n );\n if (model.isDisposed()) {\n return;\n }\n const result = [];\n for (let entry of entries) {\n const refModel = this._libFiles.getOrCreateModel(entry.fileName);\n if (refModel) {\n result.push({\n uri: refModel.uri,\n range: this._textSpanToRange(refModel, entry.textSpan)\n });\n }\n }\n return result;\n }\n}\nclass OutlineAdapter extends Adapter {\n async provideDocumentSymbols(model, token) {\n const resource = model.uri;\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const root = await worker.getNavigationTree(resource.toString());\n if (!root || model.isDisposed()) {\n return;\n }\n const convert = (item, containerLabel) => {\n const result2 = {\n name: item.text,\n detail: \"\",\n kind: outlineTypeTable[item.kind] || languages.SymbolKind.Variable,\n range: this._textSpanToRange(model, item.spans[0]),\n selectionRange: this._textSpanToRange(model, item.spans[0]),\n tags: [],\n children: item.childItems?.map((child) => convert(child, item.text)),\n containerName: containerLabel\n };\n return result2;\n };\n const result = root.childItems ? root.childItems.map((item) => convert(item)) : [];\n return result;\n }\n}\nclass Kind {\n}\nKind.unknown = \"\";\nKind.keyword = \"keyword\";\nKind.script = \"script\";\nKind.module = \"module\";\nKind.class = \"class\";\nKind.interface = \"interface\";\nKind.type = \"type\";\nKind.enum = \"enum\";\nKind.variable = \"var\";\nKind.localVariable = \"local var\";\nKind.function = \"function\";\nKind.localFunction = \"local function\";\nKind.memberFunction = \"method\";\nKind.memberGetAccessor = \"getter\";\nKind.memberSetAccessor = \"setter\";\nKind.memberVariable = \"property\";\nKind.constructorImplementation = \"constructor\";\nKind.callSignature = \"call\";\nKind.indexSignature = \"index\";\nKind.constructSignature = \"construct\";\nKind.parameter = \"parameter\";\nKind.typeParameter = \"type parameter\";\nKind.primitiveType = \"primitive type\";\nKind.label = \"label\";\nKind.alias = \"alias\";\nKind.const = \"const\";\nKind.let = \"let\";\nKind.warning = \"warning\";\nlet outlineTypeTable = /* @__PURE__ */ Object.create(null);\noutlineTypeTable[Kind.module] = languages.SymbolKind.Module;\noutlineTypeTable[Kind.class] = languages.SymbolKind.Class;\noutlineTypeTable[Kind.enum] = languages.SymbolKind.Enum;\noutlineTypeTable[Kind.interface] = languages.SymbolKind.Interface;\noutlineTypeTable[Kind.memberFunction] = languages.SymbolKind.Method;\noutlineTypeTable[Kind.memberVariable] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.memberGetAccessor] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.memberSetAccessor] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.variable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.const] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.localVariable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.variable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.function] = languages.SymbolKind.Function;\noutlineTypeTable[Kind.localFunction] = languages.SymbolKind.Function;\nclass FormatHelper extends Adapter {\n static _convertOptions(options) {\n return {\n ConvertTabsToSpaces: options.insertSpaces,\n TabSize: options.tabSize,\n IndentSize: options.tabSize,\n IndentStyle: 2 /* Smart */,\n NewLineCharacter: \"\\n\",\n InsertSpaceAfterCommaDelimiter: true,\n InsertSpaceAfterSemicolonInForStatements: true,\n InsertSpaceBeforeAndAfterBinaryOperators: true,\n InsertSpaceAfterKeywordsInControlFlowStatements: true,\n InsertSpaceAfterFunctionKeywordForAnonymousFunctions: true,\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: false,\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: false,\n InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: false,\n PlaceOpenBraceOnNewLineForControlBlocks: false,\n PlaceOpenBraceOnNewLineForFunctions: false\n };\n }\n _convertTextChanges(model, change) {\n return {\n text: change.newText,\n range: this._textSpanToRange(model, change.span)\n };\n }\n}\nclass FormatAdapter extends FormatHelper {\n constructor() {\n super(...arguments);\n this.canFormatMultipleRanges = false;\n }\n async provideDocumentRangeFormattingEdits(model, range, options, token) {\n const resource = model.uri;\n const startOffset = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const endOffset = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const edits = await worker.getFormattingEditsForRange(\n resource.toString(),\n startOffset,\n endOffset,\n FormatHelper._convertOptions(options)\n );\n if (!edits || model.isDisposed()) {\n return;\n }\n return edits.map((edit) => this._convertTextChanges(model, edit));\n }\n}\nclass FormatOnTypeAdapter extends FormatHelper {\n get autoFormatTriggerCharacters() {\n return [\";\", \"}\", \"\\n\"];\n }\n async provideOnTypeFormattingEdits(model, position, ch, options, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const edits = await worker.getFormattingEditsAfterKeystroke(\n resource.toString(),\n offset,\n ch,\n FormatHelper._convertOptions(options)\n );\n if (!edits || model.isDisposed()) {\n return;\n }\n return edits.map((edit) => this._convertTextChanges(model, edit));\n }\n}\nclass CodeActionAdaptor extends FormatHelper {\n async provideCodeActions(model, range, context, token) {\n const resource = model.uri;\n const start = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const end = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const formatOptions = FormatHelper._convertOptions(model.getOptions());\n const errorCodes = context.markers.filter((m) => m.code).map((m) => m.code).map(Number);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const codeFixes = await worker.getCodeFixesAtPosition(\n resource.toString(),\n start,\n end,\n errorCodes,\n formatOptions\n );\n if (!codeFixes || model.isDisposed()) {\n return { actions: [], dispose: () => {\n } };\n }\n const actions = codeFixes.filter((fix) => {\n return fix.changes.filter((change) => change.isNewFile).length === 0;\n }).map((fix) => {\n return this._tsCodeFixActionToMonacoCodeAction(model, context, fix);\n });\n return {\n actions,\n dispose: () => {\n }\n };\n }\n _tsCodeFixActionToMonacoCodeAction(model, context, codeFix) {\n const edits = [];\n for (const change of codeFix.changes) {\n for (const textChange of change.textChanges) {\n edits.push({\n resource: model.uri,\n versionId: void 0,\n textEdit: {\n range: this._textSpanToRange(model, textChange.span),\n text: textChange.newText\n }\n });\n }\n }\n const action = {\n title: codeFix.description,\n edit: { edits },\n diagnostics: context.markers,\n kind: \"quickfix\"\n };\n return action;\n }\n}\nclass RenameAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideRenameEdits(model, position, newName, token) {\n const resource = model.uri;\n const fileName = resource.toString();\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const renameInfo = await worker.getRenameInfo(fileName, offset, {\n allowRenameOfImportPath: false\n });\n if (renameInfo.canRename === false) {\n return {\n edits: [],\n rejectReason: renameInfo.localizedErrorMessage\n };\n }\n if (renameInfo.fileToRename !== void 0) {\n throw new Error(\"Renaming files is not supported.\");\n }\n const renameLocations = await worker.findRenameLocations(\n fileName,\n offset,\n /*strings*/\n false,\n /*comments*/\n false,\n /*prefixAndSuffix*/\n false\n );\n if (!renameLocations || model.isDisposed()) {\n return;\n }\n const edits = [];\n for (const renameLocation of renameLocations) {\n const model2 = this._libFiles.getOrCreateModel(renameLocation.fileName);\n if (model2) {\n edits.push({\n resource: model2.uri,\n versionId: void 0,\n textEdit: {\n range: this._textSpanToRange(model2, renameLocation.textSpan),\n text: newName\n }\n });\n } else {\n throw new Error(`Unknown file ${renameLocation.fileName}.`);\n }\n }\n return { edits };\n }\n}\nclass InlayHintsAdapter extends Adapter {\n async provideInlayHints(model, range, token) {\n const resource = model.uri;\n const fileName = resource.toString();\n const start = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const end = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return null;\n }\n const tsHints = await worker.provideInlayHints(fileName, start, end);\n const hints = tsHints.map((hint) => {\n return {\n ...hint,\n label: hint.text,\n position: model.getPositionAt(hint.position),\n kind: this._convertHintKind(hint.kind)\n };\n });\n return { hints, dispose: () => {\n } };\n }\n _convertHintKind(kind) {\n switch (kind) {\n case \"Parameter\":\n return languages.InlayHintKind.Parameter;\n case \"Type\":\n return languages.InlayHintKind.Type;\n default:\n return languages.InlayHintKind.Type;\n }\n }\n}\n\nexport { Adapter, CodeActionAdaptor, DefinitionAdapter, DiagnosticsAdapter, DocumentHighlightAdapter, FormatAdapter, FormatHelper, FormatOnTypeAdapter, InlayHintsAdapter, Kind, LibFiles, OutlineAdapter, QuickInfoAdapter, ReferenceAdapter, RenameAdapter, SignatureHelpAdapter, SuggestAdapter, flattenDiagnosticMessageText };\n","import { WorkerManager } from './workerManager.js';\nimport { SuggestAdapter, SignatureHelpAdapter, QuickInfoAdapter, DocumentHighlightAdapter, DefinitionAdapter, LibFiles, ReferenceAdapter, OutlineAdapter, RenameAdapter, FormatAdapter, FormatOnTypeAdapter, CodeActionAdaptor, InlayHintsAdapter, DiagnosticsAdapter } from './languageFeatures.js';\nexport { Adapter, FormatHelper, Kind, flattenDiagnosticMessageText } from './languageFeatures.js';\nimport '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages } from '../../editor/editor.api2.js';\n\nlet javaScriptWorker;\nlet typeScriptWorker;\nfunction setupTypeScript(defaults) {\n typeScriptWorker = setupMode(defaults, \"typescript\");\n}\nfunction setupJavaScript(defaults) {\n javaScriptWorker = setupMode(defaults, \"javascript\");\n}\nfunction getJavaScriptWorker() {\n return new Promise((resolve, reject) => {\n if (!javaScriptWorker) {\n return reject(\"JavaScript not registered!\");\n }\n resolve(javaScriptWorker);\n });\n}\nfunction getTypeScriptWorker() {\n return new Promise((resolve, reject) => {\n if (!typeScriptWorker) {\n return reject(\"TypeScript not registered!\");\n }\n resolve(typeScriptWorker);\n });\n}\nfunction setupMode(defaults, modeId) {\n const providers = [];\n const client = new WorkerManager(modeId, defaults);\n const worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n const libFiles = new LibFiles(worker);\n function registerProviders() {\n const { modeConfiguration } = defaults;\n disposeAll(providers);\n if (modeConfiguration.completionItems) {\n providers.push(\n languages.registerCompletionItemProvider(\n modeId,\n new SuggestAdapter(worker)\n )\n );\n }\n if (modeConfiguration.signatureHelp) {\n providers.push(\n languages.registerSignatureHelpProvider(\n modeId,\n new SignatureHelpAdapter(worker)\n )\n );\n }\n if (modeConfiguration.hovers) {\n providers.push(\n languages.registerHoverProvider(modeId, new QuickInfoAdapter(worker))\n );\n }\n if (modeConfiguration.documentHighlights) {\n providers.push(\n languages.registerDocumentHighlightProvider(\n modeId,\n new DocumentHighlightAdapter(worker)\n )\n );\n }\n if (modeConfiguration.definitions) {\n providers.push(\n languages.registerDefinitionProvider(\n modeId,\n new DefinitionAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.references) {\n providers.push(\n languages.registerReferenceProvider(\n modeId,\n new ReferenceAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.documentSymbols) {\n providers.push(\n languages.registerDocumentSymbolProvider(\n modeId,\n new OutlineAdapter(worker)\n )\n );\n }\n if (modeConfiguration.rename) {\n providers.push(\n languages.registerRenameProvider(\n modeId,\n new RenameAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.documentRangeFormattingEdits) {\n providers.push(\n languages.registerDocumentRangeFormattingEditProvider(\n modeId,\n new FormatAdapter(worker)\n )\n );\n }\n if (modeConfiguration.onTypeFormattingEdits) {\n providers.push(\n languages.registerOnTypeFormattingEditProvider(\n modeId,\n new FormatOnTypeAdapter(worker)\n )\n );\n }\n if (modeConfiguration.codeActions) {\n providers.push(\n languages.registerCodeActionProvider(modeId, new CodeActionAdaptor(worker))\n );\n }\n if (modeConfiguration.inlayHints) {\n providers.push(\n languages.registerInlayHintsProvider(modeId, new InlayHintsAdapter(worker))\n );\n }\n if (modeConfiguration.diagnostics) {\n providers.push(new DiagnosticsAdapter(libFiles, defaults, modeId, worker));\n }\n }\n registerProviders();\n return worker;\n}\nfunction disposeAll(disposables) {\n while (disposables.length) {\n disposables.pop().dispose();\n }\n}\n\nexport { CodeActionAdaptor, DefinitionAdapter, DiagnosticsAdapter, DocumentHighlightAdapter, FormatAdapter, FormatOnTypeAdapter, InlayHintsAdapter, LibFiles, OutlineAdapter, QuickInfoAdapter, ReferenceAdapter, RenameAdapter, SignatureHelpAdapter, SuggestAdapter, WorkerManager, getJavaScriptWorker, getTypeScriptWorker, setupJavaScript, setupTypeScript };\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"gIA2EA,IAAM,EAAN,KAAoB,CAClB,YAAY,EAAS,EAAW,CAC9B,KAAK,QAAU,EACf,KAAK,UAAY,EACjB,KAAK,QAAU,KACf,KAAK,QAAU,KACf,KAAK,sBAAwB,KAAK,UAAU,gBAAkB,KAAK,aAAa,CAAC,CACjF,KAAK,sBAAwB,EAC7B,KAAK,yBAA2B,KAAK,UAAU,yBACvC,KAAK,kBAAiB,CAC7B,CAEH,SAAU,CACR,KAAK,sBAAsB,SAAS,CACpC,KAAK,yBAAyB,SAAS,CACvC,KAAK,aAAa,CAEpB,aAAc,CACZ,AAEE,KAAK,WADL,KAAK,QAAQ,SAAS,CACP,MAEjB,KAAK,QAAU,KAEjB,MAAM,kBAAmB,CACvB,GAAI,CAAC,KAAK,QACR,OAEF,IAAM,EAAU,EAAE,KAAK,sBACjB,EAAQ,MAAM,KAAK,QAAQ,UAAU,CACvC,KAAK,wBAA0B,GAGnC,EAAM,gBAAgB,KAAK,UAAU,cAAc,CAAC,CAEtD,YAAa,CAyBX,MAxBA,CACE,KAAK,WAAW,UACd,KAAK,QAAU,EAAgB,CAE7B,SAAU,kCACV,iBAAoB,IAAI,OAAO,IAAA,IAAA,gCAAA,GAAA,OAAA,KAAA,IAAwC,CAAE,CAAE,KAAM,SAAU,CAAC,CAC5F,MAAO,KAAK,QACZ,eAAgB,GAEhB,WAAY,CACV,gBAAiB,KAAK,UAAU,oBAAoB,CACpD,UAAW,KAAK,UAAU,cAAc,CACxC,iBAAkB,KAAK,UAAU,cAAc,iBAC/C,kBAAmB,KAAK,UAAU,mBAErC,CAAC,CACE,KAAK,UAAU,mBAAmB,CAC7B,MAAM,KAAK,QAAQ,oBACxB,EAAO,WAAW,CAAC,OAAQ,GAAU,EAAM,eAAe,GAAK,KAAK,QAAQ,CAAC,IAAK,GAAU,EAAM,IAAG,CACtG,CAEI,MAAM,KAAK,QAAQ,UAAU,IAClC,CAEC,KAAK,QAEd,MAAM,yBAAyB,GAAG,EAAW,CAC3C,IAAM,EAAS,MAAM,KAAK,YAAY,CAItC,OAHI,KAAK,SACP,MAAM,KAAK,QAAQ,oBAAoB,EAAU,CAE5C,IC9IL,EAAa,EAAE,CACrB,EAAW,YAAc,GACzB,EAAW,uBAAyB,GACpC,EAAW,8BAAgC,GAC3C,EAAW,8BAAgC,GAC3C,EAAW,gBAAkB,GAC7B,EAAW,yBAA2B,GACtC,EAAW,8BAAgC,GAC3C,EAAW,wBAA0B,GACrC,EAAW,mBAAqB,GAChC,EAAW,6BAA+B,GAC1C,EAAW,4BAA8B,GACzC,EAAW,2BAA6B,GACxC,EAAW,yBAA2B,GACtC,EAAW,2BAA6B,GACxC,EAAW,0BAA4B,GACvC,EAAW,oCAAsC,GACjD,EAAW,iCAAmC,GAC9C,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,+BAAiC,GAC5C,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,0BAA4B,GACvC,EAAW,gCAAkC,GAC7C,EAAW,0BAA4B,GACvC,EAAW,+BAAiC,GAC5C,EAAW,kCAAoC,GAC/C,EAAW,iCAAmC,GAC9C,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,2BAA6B,GACxC,EAAW,0BAA4B,GACvC,EAAW,yBAA2B,GACtC,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,0BAA4B,GACvC,EAAW,0BAA4B,GACvC,EAAW,0BAA4B,GACvC,EAAW,0BAA4B,GACvC,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,0BAA4B,GACvC,EAAW,2BAA6B,GACxC,EAAW,gCAAkC,GAC7C,EAAW,0BAA4B,GACvC,EAAW,oCAAsC,GACjD,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,2BAA6B,GACxC,EAAW,0BAA4B,GACvC,EAAW,2BAA6B,GACxC,EAAW,yBAA2B,GACtC,EAAW,mBAAqB,GAChC,EAAW,yBAA2B,GACtC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,0BAA4B,GACvC,EAAW,0BAA4B,GACvC,EAAW,0BAA4B,GACvC,EAAW,yBAA2B,GACtC,EAAW,8BAAgC,GAC3C,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,+BAAiC,GAC5C,EAAW,8BAAgC,GAC3C,EAAW,mBAAqB,GAChC,EAAW,wBAA0B,GACrC,EAAW,0BAA4B,GACvC,EAAW,2BAA6B,GACxC,EAAW,0BAA4B,GACvC,EAAW,gCAAkC,GAC7C,EAAW,0BAA4B,GACvC,EAAW,gBAAkB,GAC7B,EAAW,gBAAkB,GAC7B,EAAW,yBAA2B,GACtC,EAAW,8BAAgC,GAC3C,EAAW,mBAAqB,GAChC,EAAW,8BAAgC,GAC3C,EAAW,8BAAgC,GAC3C,EAAW,yBAA2B,GACtC,EAAW,2BAA6B,GACxC,EAAW,wBAA0B,GACrC,EAAW,wBAA0B,GACrC,EAAW,4BAA8B,GACzC,EAAW,2BAA6B,GACxC,EAAW,gCAAkC,GAC7C,EAAW,uBAAyB,GACpC,EAAW,oCAAsC,GACjD,EAAW,sBAAwB,GACnC,EAAW,oCAAsC,GACjD,EAAW,+BAAiC,GCxB5C,SAAS,EAA6B,EAAM,EAAS,EAAS,EAAG,CAC/D,GAAI,OAAO,GAAS,SAClB,OAAO,KACE,IAAS,IAAK,GACvB,MAAO,GAET,IAAI,EAAS,GACb,GAAI,EAAQ,CACV,GAAU,EACV,IAAK,IAAI,EAAI,EAAG,EAAI,EAAQ,IAC1B,GAAU,KAKd,GAFA,GAAU,EAAK,YACf,IACI,EAAK,KACP,IAAK,IAAM,KAAO,EAAK,KACrB,GAAU,EAA6B,EAAK,EAAS,EAAO,CAGhE,OAAO,EAET,SAAS,EAAqB,EAAc,CAI1C,OAHI,EACK,EAAa,IAAK,GAAgB,EAAY,KAAK,CAAC,KAAK,GAAG,CAE9D,GAET,IAAM,EAAN,KAAc,CACZ,YAAY,EAAS,CACnB,KAAK,QAAU,EAQjB,iBAAiB,EAAO,EAAM,CAC5B,IAAI,EAAK,EAAM,cAAc,EAAK,MAAM,CACpC,EAAK,EAAM,cAAc,EAAK,MAAQ,EAAK,OAAO,CAClD,CAAE,WAAY,EAAiB,OAAQ,GAAgB,EACvD,CAAE,WAAY,EAAe,OAAQ,GAAc,EACvD,MAAO,CAAE,kBAAiB,cAAa,gBAAe,YAAW,GAG/D,EAAN,KAAe,CACb,YAAY,EAAS,CACnB,KAAK,QAAU,EACf,KAAK,UAAY,EAAE,CACnB,KAAK,oBAAsB,GAC3B,KAAK,sBAAwB,KAE/B,UAAU,EAAK,CAOb,OANK,GAGD,EAAI,KAAK,QAAQ,QAAQ,GAAK,EACzB,CAAC,CAAC,EAAW,EAAI,KAAK,MAAM,EAAE,EAEhC,GAET,iBAAiB,EAAU,CACzB,IAAM,EAAM,EAAI,MAAM,EAAS,CACzB,EAAQ,EAAO,SAAS,EAAI,CAClC,GAAI,EACF,OAAO,EAET,GAAI,KAAK,UAAU,EAAI,EAAI,KAAK,oBAC9B,OAAO,EAAO,YAAY,KAAK,UAAU,EAAI,KAAK,MAAM,EAAE,EAAG,aAAc,EAAI,CAEjF,IAAM,EAAiB,EAAmB,cAAc,CAAC,GAIzD,OAHI,EACK,EAAO,YAAY,EAAe,QAAS,aAAc,EAAI,CAE/D,KAET,iBAAiB,EAAM,CACrB,IAAK,IAAI,KAAO,EACd,GAAI,KAAK,UAAU,EAAI,CACrB,MAAO,GAGX,MAAO,GAET,MAAM,yBAAyB,EAAM,CAC9B,KAAK,iBAAiB,EAAK,EAGhC,MAAM,KAAK,gBAAgB,CAE7B,gBAAiB,CAOf,MANA,CACE,KAAK,wBAAwB,KAAK,SAAS,CAAC,KAAM,GAAM,EAAE,aAAa,CAAC,CAAC,KAAM,GAAa,CAC1F,KAAK,oBAAsB,GAC3B,KAAK,UAAY,GACjB,CAEG,KAAK,wBAGV,EAAN,cAAiC,CAAQ,CACvC,YAAY,EAAW,EAAW,EAAW,EAAQ,CACnD,MAAM,EAAO,CACb,KAAK,UAAY,EACjB,KAAK,UAAY,EACjB,KAAK,UAAY,EACjB,KAAK,aAAe,EAAE,CACtB,KAAK,UAA4B,OAAO,OAAO,KAAK,CACpD,IAAM,EAAc,GAAU,CAC5B,GAAI,EAAM,eAAe,GAAK,EAC5B,OAEF,IAAM,MAAsB,CAC1B,GAAM,CAAE,eAAgB,KAAK,UAAU,uBAAuB,CAC1D,EACE,EAAM,oBAAoB,EAC5B,KAAK,YAAY,EAAM,CAGzB,KAAK,YAAY,EAAM,EAGvB,EACE,EAAqB,EAAM,uBAAyB,CACxD,aAAa,EAAO,CACpB,EAAS,OAAO,WAAW,EAAe,IAAI,EAC9C,CACI,EAAsB,EAAM,wBAA0B,CAC1D,GAAM,CAAE,eAAgB,KAAK,UAAU,uBAAuB,CAC1D,IACE,EAAM,oBAAoB,CAC5B,GAAe,CAEf,EAAO,gBAAgB,EAAO,KAAK,UAAW,EAAE,CAAC,GAGrD,CACF,KAAK,UAAU,EAAM,IAAI,UAAU,EAAI,CACrC,SAAU,CACR,EAAmB,SAAS,CAC5B,EAAoB,SAAS,CAC7B,aAAa,EAAO,EAEvB,CACD,GAAe,EAEX,EAAkB,GAAU,CAChC,EAAO,gBAAgB,EAAO,KAAK,UAAW,EAAE,CAAC,CACjD,IAAM,EAAM,EAAM,IAAI,UAAU,CAC5B,KAAK,UAAU,KACjB,KAAK,UAAU,GAAK,SAAS,CAC7B,OAAO,KAAK,UAAU,KAG1B,KAAK,aAAa,KAChB,EAAO,iBAAkB,GAAU,EAAW,EAAM,CAAC,CACtD,CACD,KAAK,aAAa,KAAK,EAAO,mBAAmB,EAAe,CAAC,CACjE,KAAK,aAAa,KAChB,EAAO,yBAA0B,GAAU,CACzC,EAAe,EAAM,MAAM,CAC3B,EAAW,EAAM,MAAM,EACvB,CACH,CACD,KAAK,aAAa,KAAK,CACrB,SAAU,CACR,IAAK,IAAM,KAAS,EAAO,WAAW,CACpC,EAAe,EAAM,EAG1B,CAAC,CACF,IAAM,MAA4B,CAChC,IAAK,IAAM,KAAS,EAAO,WAAW,CACpC,EAAe,EAAM,CACrB,EAAW,EAAM,EAGrB,KAAK,aAAa,KAAK,KAAK,UAAU,YAAY,EAAoB,CAAC,CACvE,KAAK,aAAa,KAAK,KAAK,UAAU,qBAAqB,EAAoB,CAAC,CAChF,EAAO,WAAW,CAAC,QAAS,GAAU,EAAW,EAAM,CAAC,CAE1D,SAAU,CACR,KAAK,aAAa,QAAS,GAAM,GAAK,EAAE,SAAS,CAAC,CAClD,KAAK,aAAe,EAAE,CAExB,MAAM,YAAY,EAAO,CACvB,IAAM,EAAS,MAAM,KAAK,QAAQ,EAAM,IAAI,CAC5C,GAAI,EAAM,YAAY,CACpB,OAEF,IAAM,EAAW,EAAE,CACb,CAAE,qBAAoB,uBAAsB,2BAA4B,KAAK,UAAU,uBAAuB,CAC/G,GACH,EAAS,KAAK,EAAO,wBAAwB,EAAM,IAAI,UAAU,CAAC,CAAC,CAEhE,GACH,EAAS,KAAK,EAAO,uBAAuB,EAAM,IAAI,UAAU,CAAC,CAAC,CAE/D,GACH,EAAS,KAAK,EAAO,yBAAyB,EAAM,IAAI,UAAU,CAAC,CAAC,CAEtE,IAAM,EAAiB,MAAM,QAAQ,IAAI,EAAS,CAClD,GAAI,CAAC,GAAkB,EAAM,YAAY,CACvC,OAEF,IAAM,EAAc,EAAe,QAAQ,EAAG,IAAM,EAAE,OAAO,EAAE,CAAE,EAAE,CAAC,CAAC,OAClE,IAAO,KAAK,UAAU,uBAAuB,CAAC,yBAA2B,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAK,GACnG,CACK,EAAc,EAAY,IAAK,GAAM,EAAE,oBAAsB,EAAE,CAAC,CAAC,QAAQ,EAAG,IAAM,EAAE,OAAO,EAAE,CAAE,EAAE,CAAC,CAAC,IACtG,GAAuB,EAAmB,KAAO,EAAI,MAAM,EAAmB,KAAK,SAAS,CAAG,KACjG,CACD,MAAM,KAAK,UAAU,yBAAyB,EAAY,CACtD,GAAM,YAAY,EAGtB,EAAO,gBACL,EACA,KAAK,UACL,EAAY,IAAK,GAAM,KAAK,oBAAoB,EAAO,EAAE,CAAC,CAC3D,CAEH,oBAAoB,EAAO,EAAM,CAC/B,IAAM,EAAY,EAAK,OAAS,EAC1B,EAAa,EAAK,QAAU,EAC5B,CAAE,WAAY,EAAiB,OAAQ,GAAgB,EAAM,cAAc,EAAU,CACrF,CAAE,WAAY,EAAe,OAAQ,GAAc,EAAM,cAC7D,EAAY,EACb,CACK,EAAO,EAAE,CAOf,OANI,EAAK,oBACP,EAAK,KAAK,EAAU,YAAY,CAE9B,EAAK,mBACP,EAAK,KAAK,EAAU,WAAW,CAE1B,CACL,SAAU,KAAK,sCAAsC,EAAK,SAAS,CACnE,kBACA,cACA,gBACA,YACA,QAAS,EAA6B,EAAK,YAAa;EAAK,CAC7D,KAAM,EAAK,KAAK,UAAU,CAC1B,OACA,mBAAoB,KAAK,2BAA2B,EAAO,EAAK,mBAAA,CACjE,CAEH,2BAA2B,EAAO,EAAoB,CACpD,GAAI,CAAC,EACH,MAAO,EAAE,CAEX,IAAM,EAAS,EAAE,CAwBjB,OAvBA,EAAmB,QAAS,GAAS,CACnC,IAAI,EAAkB,EAItB,GAHI,EAAK,OACP,EAAkB,KAAK,UAAU,iBAAiB,EAAK,KAAK,SAAS,EAEnE,CAAC,EACH,OAEF,IAAM,EAAY,EAAK,OAAS,EAC1B,EAAa,EAAK,QAAU,EAC5B,CAAE,WAAY,EAAiB,OAAQ,GAAgB,EAAgB,cAAc,EAAU,CAC/F,CAAE,WAAY,EAAe,OAAQ,GAAc,EAAgB,cACvE,EAAY,EACb,CACD,EAAO,KAAK,CACV,SAAU,EAAgB,IAC1B,kBACA,cACA,gBACA,YACA,QAAS,EAA6B,EAAK,YAAa;EAAA,CACzD,CAAC,EACF,CACK,EAET,sCAAsC,EAAU,CAC9C,OAAQ,EAAR,CACE,IAAK,GACH,OAAO,EAAe,MACxB,IAAK,GACH,OAAO,EAAe,KACxB,IAAK,GACH,OAAO,EAAe,QACxB,IAAK,GACH,OAAO,EAAe,KAE1B,OAAO,EAAe,OAGpB,EAAN,MAAM,UAAuB,CAAQ,CACnC,IAAI,mBAAoB,CACtB,MAAO,CAAC,IAAI,CAEd,MAAM,uBAAuB,EAAO,EAAU,EAAU,EAAO,CAC7D,IAAM,EAAW,EAAM,qBAAqB,EAAS,CAC/C,EAAY,IAAI,EACpB,EAAS,WACT,EAAS,YACT,EAAS,WACT,EAAS,UACV,CACK,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,EAAS,CACpC,EAAS,MAAM,KAAK,QAAQ,EAAS,CAC3C,GAAI,EAAM,YAAY,CACpB,OAEF,IAAM,EAAO,MAAM,EAAO,yBAAyB,EAAS,UAAU,CAAE,EAAO,CAC3E,MAAC,GAAQ,EAAM,YAAY,EA0B/B,MAAO,CACL,YAxBkB,EAAK,QAAQ,IAAK,GAAU,CAC9C,IAAI,EAAQ,EACZ,GAAI,EAAM,gBAAiB,CACzB,IAAM,EAAK,EAAM,cAAc,EAAM,gBAAgB,MAAM,CACrD,EAAK,EAAM,cAAc,EAAM,gBAAgB,MAAQ,EAAM,gBAAgB,OAAO,CAC1F,EAAQ,IAAI,EAAM,EAAG,WAAY,EAAG,OAAQ,EAAG,WAAY,EAAG,OAAO,CAEvE,IAAM,EAAO,EAAE,CAIf,OAHI,EAAM,gBAAkB,IAAK,IAAK,EAAM,cAAc,QAAQ,aAAa,GAAK,IAClF,EAAK,KAAK,EAAU,kBAAkB,WAAW,CAE5C,CACL,IAAK,EACL,WACA,SACA,QACA,MAAO,EAAM,KACb,WAAY,EAAM,KAClB,SAAU,EAAM,SAChB,KAAM,EAAe,YAAY,EAAM,KAAK,CAC5C,OACD,EACD,CAGD,CAEH,MAAM,sBAAsB,EAAM,EAAO,CACvC,IAAM,EAAS,EACT,EAAW,EAAO,IAClB,EAAW,EAAO,SAClB,EAAS,EAAO,OAEhB,EAAU,MADD,MAAM,KAAK,QAAQ,EAAS,EACd,0BAC3B,EAAS,UAAU,CACnB,EACA,EAAO,MACR,CAID,OAHK,EAGE,CACL,IAAK,EACL,WACA,MAAO,EAAQ,KACf,KAAM,EAAe,YAAY,EAAQ,KAAK,CAC9C,OAAQ,EAAqB,EAAQ,aAAa,CAClD,cAAe,CACb,MAAO,EAAe,0BAA0B,EAAQ,CAAA,CAE3D,CAXQ,EAaX,OAAO,YAAY,EAAM,CACvB,OAAQ,EAAR,CACE,KAAK,EAAK,cACV,KAAK,EAAK,QACR,OAAO,EAAU,mBAAmB,QACtC,KAAK,EAAK,SACV,KAAK,EAAK,cACR,OAAO,EAAU,mBAAmB,SACtC,KAAK,EAAK,eACV,KAAK,EAAK,kBACV,KAAK,EAAK,kBACR,OAAO,EAAU,mBAAmB,MACtC,KAAK,EAAK,SACV,KAAK,EAAK,eACV,KAAK,EAAK,mBACV,KAAK,EAAK,cACV,KAAK,EAAK,eACR,OAAO,EAAU,mBAAmB,SACtC,KAAK,EAAK,KACR,OAAO,EAAU,mBAAmB,KACtC,KAAK,EAAK,OACR,OAAO,EAAU,mBAAmB,OACtC,KAAK,EAAK,MACR,OAAO,EAAU,mBAAmB,MACtC,KAAK,EAAK,UACR,OAAO,EAAU,mBAAmB,UACtC,KAAK,EAAK,QACR,OAAO,EAAU,mBAAmB,KAExC,OAAO,EAAU,mBAAmB,SAEtC,OAAO,0BAA0B,EAAS,CACxC,IAAI,EAAsB,EAAqB,EAAQ,cAAc,CACrE,GAAI,EAAQ,KACV,IAAK,IAAM,KAAO,EAAQ,KACxB,GAAuB;;EAE7B,EAAY,EAAI,GAGd,OAAO,IAGX,SAAS,EAAY,EAAK,CACxB,IAAI,EAAW,KAAK,EAAI,KAAK,GAC7B,GAAI,EAAI,OAAS,SAAW,EAAI,KAAM,CACpC,GAAM,CAAC,EAAW,GAAG,GAAQ,EAAI,KACjC,GAAY,KAAK,EAAU,KAAK,IAC5B,EAAK,OAAS,IAAG,GAAY,WAAW,EAAK,IAAK,GAAM,EAAE,KAAK,CAAC,KAAK,IAAI,SACpE,MAAM,QAAQ,EAAI,KAAK,CAChC,GAAY,WAAW,EAAI,KAAK,IAAK,GAAM,EAAE,KAAK,CAAC,KAAK,IAAI,GACnD,EAAI,OACb,GAAY,WAAW,EAAI,QAE7B,OAAO,EAET,IAAM,EAAN,MAAM,UAA6B,CAAQ,CACzC,aAAc,CACZ,MAAM,GAAG,UAAU,CACnB,KAAK,+BAAiC,CAAC,IAAK,IAAI,CAElD,OAAO,8BAA8B,EAAS,CAC5C,OAAQ,EAAQ,YAAhB,CACE,KAAK,EAAU,yBAAyB,iBAQpC,OAPE,EAAQ,iBACN,EAAQ,YACH,CAAE,KAAM,YAAa,iBAAkB,EAAQ,iBAAkB,CAEjE,CAAE,KAAM,iBAAkB,iBAAkB,EAAQ,iBAAkB,CAGxE,CAAE,KAAM,UAAW,CAE9B,KAAK,EAAU,yBAAyB,cACtC,OAAO,EAAQ,YAAc,CAAE,KAAM,YAAa,CAAG,CAAE,KAAM,UAAW,CAC1E,KAAK,EAAU,yBAAyB,OACxC,QACE,MAAO,CAAE,KAAM,UAAW,EAGhC,MAAM,qBAAqB,EAAO,EAAU,EAAO,EAAS,CAC1D,IAAM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,EAAS,CACpC,EAAS,MAAM,KAAK,QAAQ,EAAS,CAC3C,GAAI,EAAM,YAAY,CACpB,OAEF,IAAM,EAAO,MAAM,EAAO,sBAAsB,EAAS,UAAU,CAAE,EAAQ,CAC3E,cAAe,EAAqB,8BAA8B,EAAQ,CAC3E,CAAC,CACF,GAAI,CAAC,GAAQ,EAAM,YAAY,CAC7B,OAEF,IAAM,EAAM,CACV,gBAAiB,EAAK,kBACtB,gBAAiB,EAAK,cACtB,WAAY,EAAA,CACb,CA2BD,OA1BA,EAAK,MAAM,QAAS,GAAS,CAC3B,IAAM,EAAY,CAChB,MAAO,GACP,WAAY,EAAA,CACb,CACD,EAAU,cAAgB,CACxB,MAAO,EAAqB,EAAK,cAAc,CAChD,CACD,EAAU,OAAS,EAAqB,EAAK,mBAAmB,CAChE,EAAK,WAAW,SAAS,EAAG,EAAG,IAAM,CACnC,IAAM,EAAQ,EAAqB,EAAE,aAAa,CAC5C,EAAY,CAChB,QACA,cAAe,CACb,MAAO,EAAqB,EAAE,cAAc,CAAA,CAE/C,CACD,EAAU,OAAS,EACnB,EAAU,WAAW,KAAK,EAAU,CAChC,EAAI,EAAE,OAAS,IACjB,EAAU,OAAS,EAAqB,EAAK,sBAAsB,GAErE,CACF,EAAU,OAAS,EAAqB,EAAK,mBAAmB,CAChE,EAAI,WAAW,KAAK,EAAU,EAC9B,CACK,CACL,MAAO,EACP,SAAU,GAEX,GAGC,EAAN,cAA+B,CAAQ,CACrC,MAAM,aAAa,EAAO,EAAU,EAAO,CACzC,IAAM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,EAAS,CACpC,EAAS,MAAM,KAAK,QAAQ,EAAS,CAC3C,GAAI,EAAM,YAAY,CACpB,OAEF,IAAM,EAAO,MAAM,EAAO,uBAAuB,EAAS,UAAU,CAAE,EAAO,CAC7E,GAAI,CAAC,GAAQ,EAAM,YAAY,CAC7B,OAEF,IAAM,EAAgB,EAAqB,EAAK,cAAc,CACxD,EAAO,EAAK,KAAO,EAAK,KAAK,IAAK,GAAQ,EAAY,EAAI,CAAC,CAAC,KAAK;;EAAS,CAAG,GAC7E,EAAW,EAAqB,EAAK,aAAa,CACxD,MAAO,CACL,MAAO,KAAK,iBAAiB,EAAO,EAAK,SAAS,CAClD,SAAU,CACR,CACE,MAAO,kBAAoB,EAAW,UACvC,CACD,CACE,MAAO,GAAiB,EAAO;;EAAS,EAAO,IAChD,CAAA,CAEJ,GAGC,EAAN,cAAuC,CAAQ,CAC7C,MAAM,0BAA0B,EAAO,EAAU,EAAO,CACtD,IAAM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,EAAS,CACpC,EAAS,MAAM,KAAK,QAAQ,EAAS,CAC3C,GAAI,EAAM,YAAY,CACpB,OAEF,IAAM,EAAU,MAAM,EAAO,sBAAsB,EAAS,UAAU,CAAE,EAAQ,CAC9E,EAAS,UAAU,CACpB,CAAC,CACE,MAAC,GAAW,EAAM,YAAY,EAGlC,OAAO,EAAQ,QAAS,GACf,EAAM,eAAe,IAAK,IACxB,CACL,MAAO,KAAK,iBAAiB,EAAO,EAAe,SAAS,CAC5D,KAAM,EAAe,OAAS,mBAAqB,EAAU,sBAAsB,MAAQ,EAAU,sBAAsB,KAC5H,EACD,CACF,GAGA,EAAN,cAAgC,CAAQ,CACtC,YAAY,EAAW,EAAQ,CAC7B,MAAM,EAAO,CACb,KAAK,UAAY,EAEnB,MAAM,kBAAkB,EAAO,EAAU,EAAO,CAC9C,IAAM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,EAAS,CACpC,EAAS,MAAM,KAAK,QAAQ,EAAS,CAC3C,GAAI,EAAM,YAAY,CACpB,OAEF,IAAM,EAAU,MAAM,EAAO,wBAAwB,EAAS,UAAU,CAAE,EAAO,CAOjF,GANI,CAAC,GAAW,EAAM,YAAY,GAGlC,MAAM,KAAK,UAAU,yBACnB,EAAQ,IAAK,GAAU,EAAI,MAAM,EAAM,SAAS,CAAC,CAClD,CACG,EAAM,YAAY,EACpB,OAEF,IAAM,EAAS,EAAE,CACjB,IAAK,IAAI,KAAS,EAAS,CACzB,IAAM,EAAW,KAAK,UAAU,iBAAiB,EAAM,SAAS,CAC5D,GACF,EAAO,KAAK,CACV,IAAK,EAAS,IACd,MAAO,KAAK,iBAAiB,EAAU,EAAM,SAAA,CAC9C,CAAC,CAGN,OAAO,IAGL,EAAN,cAA+B,CAAQ,CACrC,YAAY,EAAW,EAAQ,CAC7B,MAAM,EAAO,CACb,KAAK,UAAY,EAEnB,MAAM,kBAAkB,EAAO,EAAU,EAAS,EAAO,CACvD,IAAM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,EAAS,CACpC,EAAS,MAAM,KAAK,QAAQ,EAAS,CAC3C,GAAI,EAAM,YAAY,CACpB,OAEF,IAAM,EAAU,MAAM,EAAO,wBAAwB,EAAS,UAAU,CAAE,EAAO,CAOjF,GANI,CAAC,GAAW,EAAM,YAAY,GAGlC,MAAM,KAAK,UAAU,yBACnB,EAAQ,IAAK,GAAU,EAAI,MAAM,EAAM,SAAS,CAAC,CAClD,CACG,EAAM,YAAY,EACpB,OAEF,IAAM,EAAS,EAAE,CACjB,IAAK,IAAI,KAAS,EAAS,CACzB,IAAM,EAAW,KAAK,UAAU,iBAAiB,EAAM,SAAS,CAC5D,GACF,EAAO,KAAK,CACV,IAAK,EAAS,IACd,MAAO,KAAK,iBAAiB,EAAU,EAAM,SAAA,CAC9C,CAAC,CAGN,OAAO,IAGL,EAAN,cAA6B,CAAQ,CACnC,MAAM,uBAAuB,EAAO,EAAO,CACzC,IAAM,EAAW,EAAM,IACjB,EAAS,MAAM,KAAK,QAAQ,EAAS,CAC3C,GAAI,EAAM,YAAY,CACpB,OAEF,IAAM,EAAO,MAAM,EAAO,kBAAkB,EAAS,UAAU,CAAC,CAChE,GAAI,CAAC,GAAQ,EAAM,YAAY,CAC7B,OAEF,IAAM,GAAW,EAAM,KACL,CACd,KAAM,EAAK,KACX,OAAQ,GACR,KAAM,EAAiB,EAAK,OAAS,EAAU,WAAW,SAC1D,MAAO,KAAK,iBAAiB,EAAO,EAAK,MAAM,GAAG,CAClD,eAAgB,KAAK,iBAAiB,EAAO,EAAK,MAAM,GAAG,CAC3D,KAAM,EAAE,CACR,SAAU,EAAK,YAAY,IAAK,GAAU,EAAQ,EAAO,EAAK,KAAK,CAAC,CACpE,cAAe,EAChB,EAIH,OADe,EAAK,WAAa,EAAK,WAAW,IAAK,GAAS,EAAQ,EAAK,CAAC,CAAG,EAAE,GAIhF,EAAN,KAAW,GAEX,EAAK,QAAU,GACf,EAAK,QAAU,UACf,EAAK,OAAS,SACd,EAAK,OAAS,SACd,EAAK,MAAQ,QACb,EAAK,UAAY,YACjB,EAAK,KAAO,OACZ,EAAK,KAAO,OACZ,EAAK,SAAW,MAChB,EAAK,cAAgB,YACrB,EAAK,SAAW,WAChB,EAAK,cAAgB,iBACrB,EAAK,eAAiB,SACtB,EAAK,kBAAoB,SACzB,EAAK,kBAAoB,SACzB,EAAK,eAAiB,WACtB,EAAK,0BAA4B,cACjC,EAAK,cAAgB,OACrB,EAAK,eAAiB,QACtB,EAAK,mBAAqB,YAC1B,EAAK,UAAY,YACjB,EAAK,cAAgB,iBACrB,EAAK,cAAgB,iBACrB,EAAK,MAAQ,QACb,EAAK,MAAQ,QACb,EAAK,MAAQ,QACb,EAAK,IAAM,MACX,EAAK,QAAU,UACf,IAAI,EAAmC,OAAO,OAAO,KAAK,CAC1D,EAAiB,EAAK,QAAU,EAAU,WAAW,OACrD,EAAiB,EAAK,OAAS,EAAU,WAAW,MACpD,EAAiB,EAAK,MAAQ,EAAU,WAAW,KACnD,EAAiB,EAAK,WAAa,EAAU,WAAW,UACxD,EAAiB,EAAK,gBAAkB,EAAU,WAAW,OAC7D,EAAiB,EAAK,gBAAkB,EAAU,WAAW,SAC7D,EAAiB,EAAK,mBAAqB,EAAU,WAAW,SAChE,EAAiB,EAAK,mBAAqB,EAAU,WAAW,SAChE,EAAiB,EAAK,UAAY,EAAU,WAAW,SACvD,EAAiB,EAAK,OAAS,EAAU,WAAW,SACpD,EAAiB,EAAK,eAAiB,EAAU,WAAW,SAC5D,EAAiB,EAAK,UAAY,EAAU,WAAW,SACvD,EAAiB,EAAK,UAAY,EAAU,WAAW,SACvD,EAAiB,EAAK,eAAiB,EAAU,WAAW,SAC5D,IAAM,EAAN,cAA2B,CAAQ,CACjC,OAAO,gBAAgB,EAAS,CAC9B,MAAO,CACL,oBAAqB,EAAQ,aAC7B,QAAS,EAAQ,QACjB,WAAY,EAAQ,QACpB,YAAa,EACb,iBAAkB;EAClB,+BAAgC,GAChC,yCAA0C,GAC1C,yCAA0C,GAC1C,gDAAiD,GACjD,qDAAsD,GACtD,2DAA4D,GAC5D,wDAAyD,GACzD,4DAA6D,GAC7D,wCAAyC,GACzC,oCAAqC,GACtC,CAEH,oBAAoB,EAAO,EAAQ,CACjC,MAAO,CACL,KAAM,EAAO,QACb,MAAO,KAAK,iBAAiB,EAAO,EAAO,KAAA,CAC5C,GAGC,EAAN,cAA4B,CAAa,CACvC,aAAc,CACZ,MAAM,GAAG,UAAU,CACnB,KAAK,wBAA0B,GAEjC,MAAM,oCAAoC,EAAO,EAAO,EAAS,EAAO,CACtE,IAAM,EAAW,EAAM,IACjB,EAAc,EAAM,YAAY,CACpC,WAAY,EAAM,gBAClB,OAAQ,EAAM,YACf,CAAC,CACI,EAAY,EAAM,YAAY,CAClC,WAAY,EAAM,cAClB,OAAQ,EAAM,UACf,CAAC,CACI,EAAS,MAAM,KAAK,QAAQ,EAAS,CAC3C,GAAI,EAAM,YAAY,CACpB,OAEF,IAAM,EAAQ,MAAM,EAAO,2BACzB,EAAS,UAAU,CACnB,EACA,EACA,EAAa,gBAAgB,EAAQ,CACtC,CACG,MAAC,GAAS,EAAM,YAAY,EAGhC,OAAO,EAAM,IAAK,GAAS,KAAK,oBAAoB,EAAO,EAAK,CAAC,GAG/D,EAAN,cAAkC,CAAa,CAC7C,IAAI,6BAA8B,CAChC,MAAO,CAAC,IAAK,IAAK;EAAK,CAEzB,MAAM,6BAA6B,EAAO,EAAU,EAAI,EAAS,EAAO,CACtE,IAAM,EAAW,EAAM,IACjB,EAAS,EAAM,YAAY,EAAS,CACpC,EAAS,MAAM,KAAK,QAAQ,EAAS,CAC3C,GAAI,EAAM,YAAY,CACpB,OAEF,IAAM,EAAQ,MAAM,EAAO,iCACzB,EAAS,UAAU,CACnB,EACA,EACA,EAAa,gBAAgB,EAAQ,CACtC,CACG,MAAC,GAAS,EAAM,YAAY,EAGhC,OAAO,EAAM,IAAK,GAAS,KAAK,oBAAoB,EAAO,EAAK,CAAC,GAG/D,EAAN,cAAgC,CAAa,CAC3C,MAAM,mBAAmB,EAAO,EAAO,EAAS,EAAO,CACrD,IAAM,EAAW,EAAM,IACjB,EAAQ,EAAM,YAAY,CAC9B,WAAY,EAAM,gBAClB,OAAQ,EAAM,YACf,CAAC,CACI,EAAM,EAAM,YAAY,CAC5B,WAAY,EAAM,cAClB,OAAQ,EAAM,UACf,CAAC,CACI,EAAgB,EAAa,gBAAgB,EAAM,YAAY,CAAC,CAChE,EAAa,EAAQ,QAAQ,OAAQ,GAAM,EAAE,KAAK,CAAC,IAAK,GAAM,EAAE,KAAK,CAAC,IAAI,OAAO,CACjF,EAAS,MAAM,KAAK,QAAQ,EAAS,CAC3C,GAAI,EAAM,YAAY,CACpB,OAEF,IAAM,EAAY,MAAM,EAAO,uBAC7B,EAAS,UAAU,CACnB,EACA,EACA,EACA,EACD,CAUD,MATI,CAAC,GAAa,EAAM,YAAY,CAC3B,CAAE,QAAS,EAAE,CAAE,YAAe,GAClC,CAOE,CACL,QANc,EAAU,OAAQ,GACzB,EAAI,QAAQ,OAAQ,GAAW,EAAO,UAAU,CAAC,SAAW,EACnE,CAAC,IAAK,GACC,KAAK,mCAAmC,EAAO,EAAS,EAAI,CACnE,CAGA,YAAe,GAEhB,CAEH,mCAAmC,EAAO,EAAS,EAAS,CAC1D,IAAM,EAAQ,EAAE,CAChB,IAAK,IAAM,KAAU,EAAQ,QAC3B,IAAK,IAAM,KAAc,EAAO,YAC9B,EAAM,KAAK,CACT,SAAU,EAAM,IAChB,UAAW,IAAK,GAChB,SAAU,CACR,MAAO,KAAK,iBAAiB,EAAO,EAAW,KAAK,CACpD,KAAM,EAAW,SAEpB,CAAC,CASN,MANe,CACb,MAAO,EAAQ,YACf,KAAM,CAAE,QAAO,CACf,YAAa,EAAQ,QACrB,KAAM,WACP,GAIC,EAAN,cAA4B,CAAQ,CAClC,YAAY,EAAW,EAAQ,CAC7B,MAAM,EAAO,CACb,KAAK,UAAY,EAEnB,MAAM,mBAAmB,EAAO,EAAU,EAAS,EAAO,CACxD,IAAM,EAAW,EAAM,IACjB,EAAW,EAAS,UAAU,CAC9B,EAAS,EAAM,YAAY,EAAS,CACpC,EAAS,MAAM,KAAK,QAAQ,EAAS,CAC3C,GAAI,EAAM,YAAY,CACpB,OAEF,IAAM,EAAa,MAAM,EAAO,cAAc,EAAU,EAAQ,CAC9D,wBAAyB,GAC1B,CAAC,CACF,GAAI,EAAW,YAAc,GAC3B,MAAO,CACL,MAAO,EAAE,CACT,aAAc,EAAW,sBAC1B,CAEH,GAAI,EAAW,eAAiB,IAAK,GACnC,MAAU,MAAM,mCAAmC,CAErD,IAAM,EAAkB,MAAM,EAAO,oBACnC,EACA,EAEA,GAEA,GAEA,GACD,CACD,GAAI,CAAC,GAAmB,EAAM,YAAY,CACxC,OAEF,IAAM,EAAQ,EAAE,CAChB,IAAK,IAAM,KAAkB,EAAiB,CAC5C,IAAM,EAAS,KAAK,UAAU,iBAAiB,EAAe,SAAS,CACvE,GAAI,EACF,EAAM,KAAK,CACT,SAAU,EAAO,IACjB,UAAW,IAAK,GAChB,SAAU,CACR,MAAO,KAAK,iBAAiB,EAAQ,EAAe,SAAS,CAC7D,KAAM,GAET,CAAC,MAEF,MAAU,MAAM,gBAAgB,EAAe,SAAS,GAAG,CAG/D,MAAO,CAAE,QAAO,GAGd,EAAN,cAAgC,CAAQ,CACtC,MAAM,kBAAkB,EAAO,EAAO,EAAO,CAC3C,IAAM,EAAW,EAAM,IACjB,EAAW,EAAS,UAAU,CAC9B,EAAQ,EAAM,YAAY,CAC9B,WAAY,EAAM,gBAClB,OAAQ,EAAM,YACf,CAAC,CACI,EAAM,EAAM,YAAY,CAC5B,WAAY,EAAM,cAClB,OAAQ,EAAM,UACf,CAAC,CACI,EAAS,MAAM,KAAK,QAAQ,EAAS,CAa3C,OAZI,EAAM,YAAY,CACb,KAWF,CAAE,OATO,MAAM,EAAO,kBAAkB,EAAU,EAAO,EAAI,EAC9C,IAAK,IAClB,CACL,GAAG,EACH,MAAO,EAAK,KACZ,SAAU,EAAM,cAAc,EAAK,SAAS,CAC5C,KAAM,KAAK,iBAAiB,EAAK,KAAA,CAClC,EACD,CACc,YAAe,GAC5B,CAEL,iBAAiB,EAAM,CACrB,OAAQ,EAAR,CACE,IAAK,YACH,OAAO,EAAU,cAAc,UACjC,IAAK,OACH,OAAO,EAAU,cAAc,KACjC,QACE,OAAO,EAAU,cAAc,QC95BnC,EACA,EACJ,SAAS,EAAgB,EAAU,CACjC,EAAmB,EAAU,EAAU,aAAa,CAEtD,SAAS,EAAgB,EAAU,CACjC,EAAmB,EAAU,EAAU,aAAa,CAEtD,SAAS,GAAsB,CAC7B,OAAO,IAAI,SAAS,EAAS,IAAW,CACtC,GAAI,CAAC,EACH,OAAO,EAAO,6BAA6B,CAE7C,EAAQ,EAAiB,EACzB,CAEJ,SAAS,GAAsB,CAC7B,OAAO,IAAI,SAAS,EAAS,IAAW,CACtC,GAAI,CAAC,EACH,OAAO,EAAO,6BAA6B,CAE7C,EAAQ,EAAiB,EACzB,CAEJ,SAAS,EAAU,EAAU,EAAQ,CACnC,IAAM,EAAY,EAAE,CACd,EAAS,IAAI,EAAc,EAAQ,EAAS,CAC5C,GAAU,GAAG,IACV,EAAO,yBAAyB,GAAG,EAAK,CAE3C,EAAW,IAAI,EAAS,EAAO,CACrC,SAAS,GAAoB,CAC3B,GAAM,CAAE,qBAAsB,EAC9B,EAAW,EAAU,CACjB,EAAkB,iBACpB,EAAU,KACR,EAAU,+BACR,EACA,IAAI,EAAe,EAAO,CAC3B,CACF,CAEC,EAAkB,eACpB,EAAU,KACR,EAAU,8BACR,EACA,IAAI,EAAqB,EAAO,CACjC,CACF,CAEC,EAAkB,QACpB,EAAU,KACR,EAAU,sBAAsB,EAAQ,IAAI,EAAiB,EAAO,CAAC,CACtE,CAEC,EAAkB,oBACpB,EAAU,KACR,EAAU,kCACR,EACA,IAAI,EAAyB,EAAO,CACrC,CACF,CAEC,EAAkB,aACpB,EAAU,KACR,EAAU,2BACR,EACA,IAAI,EAAkB,EAAU,EAAO,CACxC,CACF,CAEC,EAAkB,YACpB,EAAU,KACR,EAAU,0BACR,EACA,IAAI,EAAiB,EAAU,EAAO,CACvC,CACF,CAEC,EAAkB,iBACpB,EAAU,KACR,EAAU,+BACR,EACA,IAAI,EAAe,EAAO,CAC3B,CACF,CAEC,EAAkB,QACpB,EAAU,KACR,EAAU,uBACR,EACA,IAAI,EAAc,EAAU,EAAO,CACpC,CACF,CAEC,EAAkB,8BACpB,EAAU,KACR,EAAU,4CACR,EACA,IAAI,EAAc,EAAO,CAC1B,CACF,CAEC,EAAkB,uBACpB,EAAU,KACR,EAAU,qCACR,EACA,IAAI,EAAoB,EAAO,CAChC,CACF,CAEC,EAAkB,aACpB,EAAU,KACR,EAAU,2BAA2B,EAAQ,IAAI,EAAkB,EAAO,CAAC,CAC5E,CAEC,EAAkB,YACpB,EAAU,KACR,EAAU,2BAA2B,EAAQ,IAAI,EAAkB,EAAO,CAAC,CAC5E,CAEC,EAAkB,aACpB,EAAU,KAAK,IAAI,EAAmB,EAAU,EAAU,EAAQ,EAAO,CAAC,CAI9E,OADA,GAAmB,CACZ,EAET,SAAS,EAAW,EAAa,CAC/B,KAAO,EAAY,QACjB,EAAY,KAAK,CAAC,SAAS"}
|
|
1
|
+
{"version":3,"file":"tsMode-B2vhKML7.js","names":[],"sources":["../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/typescript/workerManager.js","../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/typescript/lib/lib.index.js","../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/typescript/languageFeatures.js","../../node_modules/.pnpm/monaco-editor@0.55.1/node_modules/monaco-editor/esm/vs/language/typescript/tsMode.js"],"sourcesContent":["import '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { editor } from '../../editor/editor.api2.js';\nimport { createWebWorker } from '../../common/workers.js';\n\nclass WorkerManager {\n constructor(_modeId, _defaults) {\n this._modeId = _modeId;\n this._defaults = _defaults;\n this._worker = null;\n this._client = null;\n this._configChangeListener = this._defaults.onDidChange(() => this._stopWorker());\n this._updateExtraLibsToken = 0;\n this._extraLibsChangeListener = this._defaults.onDidExtraLibsChange(\n () => this._updateExtraLibs()\n );\n }\n dispose() {\n this._configChangeListener.dispose();\n this._extraLibsChangeListener.dispose();\n this._stopWorker();\n }\n _stopWorker() {\n if (this._worker) {\n this._worker.dispose();\n this._worker = null;\n }\n this._client = null;\n }\n async _updateExtraLibs() {\n if (!this._worker) {\n return;\n }\n const myToken = ++this._updateExtraLibsToken;\n const proxy = await this._worker.getProxy();\n if (this._updateExtraLibsToken !== myToken) {\n return;\n }\n proxy.updateExtraLibs(this._defaults.getExtraLibs());\n }\n _getClient() {\n if (!this._client) {\n this._client = (async () => {\n this._worker = createWebWorker({\n // module that exports the create() method and returns a `TypeScriptWorker` instance\n moduleId: \"vs/language/typescript/tsWorker\",\n createWorker: () => new Worker(new URL('ts.worker.js', import.meta.url), { type: \"module\" }),\n label: this._modeId,\n keepIdleModels: true,\n // passed in to the create() method\n createData: {\n compilerOptions: this._defaults.getCompilerOptions(),\n extraLibs: this._defaults.getExtraLibs(),\n customWorkerPath: this._defaults.workerOptions.customWorkerPath,\n inlayHintsOptions: this._defaults.inlayHintsOptions\n }\n });\n if (this._defaults.getEagerModelSync()) {\n return await this._worker.withSyncedResources(\n editor.getModels().filter((model) => model.getLanguageId() === this._modeId).map((model) => model.uri)\n );\n }\n return await this._worker.getProxy();\n })();\n }\n return this._client;\n }\n async getLanguageServiceWorker(...resources) {\n const client = await this._getClient();\n if (this._worker) {\n await this._worker.withSyncedResources(resources);\n }\n return client;\n }\n}\n\nexport { WorkerManager };\n","const libFileSet = {};\nlibFileSet[\"lib.d.ts\"] = true;\nlibFileSet[\"lib.decorators.d.ts\"] = true;\nlibFileSet[\"lib.decorators.legacy.d.ts\"] = true;\nlibFileSet[\"lib.dom.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.dom.d.ts\"] = true;\nlibFileSet[\"lib.dom.iterable.d.ts\"] = true;\nlibFileSet[\"lib.es2015.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2015.core.d.ts\"] = true;\nlibFileSet[\"lib.es2015.d.ts\"] = true;\nlibFileSet[\"lib.es2015.generator.d.ts\"] = true;\nlibFileSet[\"lib.es2015.iterable.d.ts\"] = true;\nlibFileSet[\"lib.es2015.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2015.proxy.d.ts\"] = true;\nlibFileSet[\"lib.es2015.reflect.d.ts\"] = true;\nlibFileSet[\"lib.es2015.symbol.d.ts\"] = true;\nlibFileSet[\"lib.es2015.symbol.wellknown.d.ts\"] = true;\nlibFileSet[\"lib.es2016.array.include.d.ts\"] = true;\nlibFileSet[\"lib.es2016.d.ts\"] = true;\nlibFileSet[\"lib.es2016.full.d.ts\"] = true;\nlibFileSet[\"lib.es2016.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2017.arraybuffer.d.ts\"] = true;\nlibFileSet[\"lib.es2017.d.ts\"] = true;\nlibFileSet[\"lib.es2017.date.d.ts\"] = true;\nlibFileSet[\"lib.es2017.full.d.ts\"] = true;\nlibFileSet[\"lib.es2017.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2017.object.d.ts\"] = true;\nlibFileSet[\"lib.es2017.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2017.string.d.ts\"] = true;\nlibFileSet[\"lib.es2017.typedarrays.d.ts\"] = true;\nlibFileSet[\"lib.es2018.asyncgenerator.d.ts\"] = true;\nlibFileSet[\"lib.es2018.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.es2018.d.ts\"] = true;\nlibFileSet[\"lib.es2018.full.d.ts\"] = true;\nlibFileSet[\"lib.es2018.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2018.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2018.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2019.array.d.ts\"] = true;\nlibFileSet[\"lib.es2019.d.ts\"] = true;\nlibFileSet[\"lib.es2019.full.d.ts\"] = true;\nlibFileSet[\"lib.es2019.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2019.object.d.ts\"] = true;\nlibFileSet[\"lib.es2019.string.d.ts\"] = true;\nlibFileSet[\"lib.es2019.symbol.d.ts\"] = true;\nlibFileSet[\"lib.es2020.bigint.d.ts\"] = true;\nlibFileSet[\"lib.es2020.d.ts\"] = true;\nlibFileSet[\"lib.es2020.date.d.ts\"] = true;\nlibFileSet[\"lib.es2020.full.d.ts\"] = true;\nlibFileSet[\"lib.es2020.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2020.number.d.ts\"] = true;\nlibFileSet[\"lib.es2020.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2020.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2020.string.d.ts\"] = true;\nlibFileSet[\"lib.es2020.symbol.wellknown.d.ts\"] = true;\nlibFileSet[\"lib.es2021.d.ts\"] = true;\nlibFileSet[\"lib.es2021.full.d.ts\"] = true;\nlibFileSet[\"lib.es2021.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2021.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2021.string.d.ts\"] = true;\nlibFileSet[\"lib.es2021.weakref.d.ts\"] = true;\nlibFileSet[\"lib.es2022.array.d.ts\"] = true;\nlibFileSet[\"lib.es2022.d.ts\"] = true;\nlibFileSet[\"lib.es2022.error.d.ts\"] = true;\nlibFileSet[\"lib.es2022.full.d.ts\"] = true;\nlibFileSet[\"lib.es2022.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2022.object.d.ts\"] = true;\nlibFileSet[\"lib.es2022.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2022.string.d.ts\"] = true;\nlibFileSet[\"lib.es2023.array.d.ts\"] = true;\nlibFileSet[\"lib.es2023.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2023.d.ts\"] = true;\nlibFileSet[\"lib.es2023.full.d.ts\"] = true;\nlibFileSet[\"lib.es2023.intl.d.ts\"] = true;\nlibFileSet[\"lib.es2024.arraybuffer.d.ts\"] = true;\nlibFileSet[\"lib.es2024.collection.d.ts\"] = true;\nlibFileSet[\"lib.es2024.d.ts\"] = true;\nlibFileSet[\"lib.es2024.full.d.ts\"] = true;\nlibFileSet[\"lib.es2024.object.d.ts\"] = true;\nlibFileSet[\"lib.es2024.promise.d.ts\"] = true;\nlibFileSet[\"lib.es2024.regexp.d.ts\"] = true;\nlibFileSet[\"lib.es2024.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.es2024.string.d.ts\"] = true;\nlibFileSet[\"lib.es5.d.ts\"] = true;\nlibFileSet[\"lib.es6.d.ts\"] = true;\nlibFileSet[\"lib.esnext.array.d.ts\"] = true;\nlibFileSet[\"lib.esnext.collection.d.ts\"] = true;\nlibFileSet[\"lib.esnext.d.ts\"] = true;\nlibFileSet[\"lib.esnext.decorators.d.ts\"] = true;\nlibFileSet[\"lib.esnext.disposable.d.ts\"] = true;\nlibFileSet[\"lib.esnext.error.d.ts\"] = true;\nlibFileSet[\"lib.esnext.float16.d.ts\"] = true;\nlibFileSet[\"lib.esnext.full.d.ts\"] = true;\nlibFileSet[\"lib.esnext.intl.d.ts\"] = true;\nlibFileSet[\"lib.esnext.iterator.d.ts\"] = true;\nlibFileSet[\"lib.esnext.promise.d.ts\"] = true;\nlibFileSet[\"lib.esnext.sharedmemory.d.ts\"] = true;\nlibFileSet[\"lib.scripthost.d.ts\"] = true;\nlibFileSet[\"lib.webworker.asynciterable.d.ts\"] = true;\nlibFileSet[\"lib.webworker.d.ts\"] = true;\nlibFileSet[\"lib.webworker.importscripts.d.ts\"] = true;\nlibFileSet[\"lib.webworker.iterable.d.ts\"] = true;\n\nexport { libFileSet };\n","import { typescriptDefaults } from './monaco.contribution.js';\nimport { libFileSet } from './lib/lib.index.js';\nimport '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { Uri, editor, MarkerTag, MarkerSeverity, Range, languages } from '../../editor/editor.api2.js';\n\nfunction flattenDiagnosticMessageText(diag, newLine, indent = 0) {\n if (typeof diag === \"string\") {\n return diag;\n } else if (diag === void 0) {\n return \"\";\n }\n let result = \"\";\n if (indent) {\n result += newLine;\n for (let i = 0; i < indent; i++) {\n result += \" \";\n }\n }\n result += diag.messageText;\n indent++;\n if (diag.next) {\n for (const kid of diag.next) {\n result += flattenDiagnosticMessageText(kid, newLine, indent);\n }\n }\n return result;\n}\nfunction displayPartsToString(displayParts) {\n if (displayParts) {\n return displayParts.map((displayPart) => displayPart.text).join(\"\");\n }\n return \"\";\n}\nclass Adapter {\n constructor(_worker) {\n this._worker = _worker;\n }\n // protected _positionToOffset(model: editor.ITextModel, position: monaco.IPosition): number {\n // \treturn model.getOffsetAt(position);\n // }\n // protected _offsetToPosition(model: editor.ITextModel, offset: number): monaco.IPosition {\n // \treturn model.getPositionAt(offset);\n // }\n _textSpanToRange(model, span) {\n let p1 = model.getPositionAt(span.start);\n let p2 = model.getPositionAt(span.start + span.length);\n let { lineNumber: startLineNumber, column: startColumn } = p1;\n let { lineNumber: endLineNumber, column: endColumn } = p2;\n return { startLineNumber, startColumn, endLineNumber, endColumn };\n }\n}\nclass LibFiles {\n constructor(_worker) {\n this._worker = _worker;\n this._libFiles = {};\n this._hasFetchedLibFiles = false;\n this._fetchLibFilesPromise = null;\n }\n isLibFile(uri) {\n if (!uri) {\n return false;\n }\n if (uri.path.indexOf(\"/lib.\") === 0) {\n return !!libFileSet[uri.path.slice(1)];\n }\n return false;\n }\n getOrCreateModel(fileName) {\n const uri = Uri.parse(fileName);\n const model = editor.getModel(uri);\n if (model) {\n return model;\n }\n if (this.isLibFile(uri) && this._hasFetchedLibFiles) {\n return editor.createModel(this._libFiles[uri.path.slice(1)], \"typescript\", uri);\n }\n const matchedLibFile = typescriptDefaults.getExtraLibs()[fileName];\n if (matchedLibFile) {\n return editor.createModel(matchedLibFile.content, \"typescript\", uri);\n }\n return null;\n }\n _containsLibFile(uris) {\n for (let uri of uris) {\n if (this.isLibFile(uri)) {\n return true;\n }\n }\n return false;\n }\n async fetchLibFilesIfNecessary(uris) {\n if (!this._containsLibFile(uris)) {\n return;\n }\n await this._fetchLibFiles();\n }\n _fetchLibFiles() {\n if (!this._fetchLibFilesPromise) {\n this._fetchLibFilesPromise = this._worker().then((w) => w.getLibFiles()).then((libFiles) => {\n this._hasFetchedLibFiles = true;\n this._libFiles = libFiles;\n });\n }\n return this._fetchLibFilesPromise;\n }\n}\nclass DiagnosticsAdapter extends Adapter {\n constructor(_libFiles, _defaults, _selector, worker) {\n super(worker);\n this._libFiles = _libFiles;\n this._defaults = _defaults;\n this._selector = _selector;\n this._disposables = [];\n this._listener = /* @__PURE__ */ Object.create(null);\n const onModelAdd = (model) => {\n if (model.getLanguageId() !== _selector) {\n return;\n }\n const maybeValidate = () => {\n const { onlyVisible } = this._defaults.getDiagnosticsOptions();\n if (onlyVisible) {\n if (model.isAttachedToEditor()) {\n this._doValidate(model);\n }\n } else {\n this._doValidate(model);\n }\n };\n let handle;\n const changeSubscription = model.onDidChangeContent(() => {\n clearTimeout(handle);\n handle = window.setTimeout(maybeValidate, 500);\n });\n const visibleSubscription = model.onDidChangeAttached(() => {\n const { onlyVisible } = this._defaults.getDiagnosticsOptions();\n if (onlyVisible) {\n if (model.isAttachedToEditor()) {\n maybeValidate();\n } else {\n editor.setModelMarkers(model, this._selector, []);\n }\n }\n });\n this._listener[model.uri.toString()] = {\n dispose() {\n changeSubscription.dispose();\n visibleSubscription.dispose();\n clearTimeout(handle);\n }\n };\n maybeValidate();\n };\n const onModelRemoved = (model) => {\n editor.setModelMarkers(model, this._selector, []);\n const key = model.uri.toString();\n if (this._listener[key]) {\n this._listener[key].dispose();\n delete this._listener[key];\n }\n };\n this._disposables.push(\n editor.onDidCreateModel((model) => onModelAdd(model))\n );\n this._disposables.push(editor.onWillDisposeModel(onModelRemoved));\n this._disposables.push(\n editor.onDidChangeModelLanguage((event) => {\n onModelRemoved(event.model);\n onModelAdd(event.model);\n })\n );\n this._disposables.push({\n dispose() {\n for (const model of editor.getModels()) {\n onModelRemoved(model);\n }\n }\n });\n const recomputeDiagostics = () => {\n for (const model of editor.getModels()) {\n onModelRemoved(model);\n onModelAdd(model);\n }\n };\n this._disposables.push(this._defaults.onDidChange(recomputeDiagostics));\n this._disposables.push(this._defaults.onDidExtraLibsChange(recomputeDiagostics));\n editor.getModels().forEach((model) => onModelAdd(model));\n }\n dispose() {\n this._disposables.forEach((d) => d && d.dispose());\n this._disposables = [];\n }\n async _doValidate(model) {\n const worker = await this._worker(model.uri);\n if (model.isDisposed()) {\n return;\n }\n const promises = [];\n const { noSyntaxValidation, noSemanticValidation, noSuggestionDiagnostics } = this._defaults.getDiagnosticsOptions();\n if (!noSyntaxValidation) {\n promises.push(worker.getSyntacticDiagnostics(model.uri.toString()));\n }\n if (!noSemanticValidation) {\n promises.push(worker.getSemanticDiagnostics(model.uri.toString()));\n }\n if (!noSuggestionDiagnostics) {\n promises.push(worker.getSuggestionDiagnostics(model.uri.toString()));\n }\n const allDiagnostics = await Promise.all(promises);\n if (!allDiagnostics || model.isDisposed()) {\n return;\n }\n const diagnostics = allDiagnostics.reduce((p, c) => c.concat(p), []).filter(\n (d) => (this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore || []).indexOf(d.code) === -1\n );\n const relatedUris = diagnostics.map((d) => d.relatedInformation || []).reduce((p, c) => c.concat(p), []).map(\n (relatedInformation) => relatedInformation.file ? Uri.parse(relatedInformation.file.fileName) : null\n );\n await this._libFiles.fetchLibFilesIfNecessary(relatedUris);\n if (model.isDisposed()) {\n return;\n }\n editor.setModelMarkers(\n model,\n this._selector,\n diagnostics.map((d) => this._convertDiagnostics(model, d))\n );\n }\n _convertDiagnostics(model, diag) {\n const diagStart = diag.start || 0;\n const diagLength = diag.length || 1;\n const { lineNumber: startLineNumber, column: startColumn } = model.getPositionAt(diagStart);\n const { lineNumber: endLineNumber, column: endColumn } = model.getPositionAt(\n diagStart + diagLength\n );\n const tags = [];\n if (diag.reportsUnnecessary) {\n tags.push(MarkerTag.Unnecessary);\n }\n if (diag.reportsDeprecated) {\n tags.push(MarkerTag.Deprecated);\n }\n return {\n severity: this._tsDiagnosticCategoryToMarkerSeverity(diag.category),\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n message: flattenDiagnosticMessageText(diag.messageText, \"\\n\"),\n code: diag.code.toString(),\n tags,\n relatedInformation: this._convertRelatedInformation(model, diag.relatedInformation)\n };\n }\n _convertRelatedInformation(model, relatedInformation) {\n if (!relatedInformation) {\n return [];\n }\n const result = [];\n relatedInformation.forEach((info) => {\n let relatedResource = model;\n if (info.file) {\n relatedResource = this._libFiles.getOrCreateModel(info.file.fileName);\n }\n if (!relatedResource) {\n return;\n }\n const infoStart = info.start || 0;\n const infoLength = info.length || 1;\n const { lineNumber: startLineNumber, column: startColumn } = relatedResource.getPositionAt(infoStart);\n const { lineNumber: endLineNumber, column: endColumn } = relatedResource.getPositionAt(\n infoStart + infoLength\n );\n result.push({\n resource: relatedResource.uri,\n startLineNumber,\n startColumn,\n endLineNumber,\n endColumn,\n message: flattenDiagnosticMessageText(info.messageText, \"\\n\")\n });\n });\n return result;\n }\n _tsDiagnosticCategoryToMarkerSeverity(category) {\n switch (category) {\n case 1 /* Error */:\n return MarkerSeverity.Error;\n case 3 /* Message */:\n return MarkerSeverity.Info;\n case 0 /* Warning */:\n return MarkerSeverity.Warning;\n case 2 /* Suggestion */:\n return MarkerSeverity.Hint;\n }\n return MarkerSeverity.Info;\n }\n}\nclass SuggestAdapter extends Adapter {\n get triggerCharacters() {\n return [\".\"];\n }\n async provideCompletionItems(model, position, _context, token) {\n const wordInfo = model.getWordUntilPosition(position);\n const wordRange = new Range(\n position.lineNumber,\n wordInfo.startColumn,\n position.lineNumber,\n wordInfo.endColumn\n );\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getCompletionsAtPosition(resource.toString(), offset);\n if (!info || model.isDisposed()) {\n return;\n }\n const suggestions = info.entries.map((entry) => {\n let range = wordRange;\n if (entry.replacementSpan) {\n const p1 = model.getPositionAt(entry.replacementSpan.start);\n const p2 = model.getPositionAt(entry.replacementSpan.start + entry.replacementSpan.length);\n range = new Range(p1.lineNumber, p1.column, p2.lineNumber, p2.column);\n }\n const tags = [];\n if (entry.kindModifiers !== void 0 && entry.kindModifiers.indexOf(\"deprecated\") !== -1) {\n tags.push(languages.CompletionItemTag.Deprecated);\n }\n return {\n uri: resource,\n position,\n offset,\n range,\n label: entry.name,\n insertText: entry.name,\n sortText: entry.sortText,\n kind: SuggestAdapter.convertKind(entry.kind),\n tags\n };\n });\n return {\n suggestions\n };\n }\n async resolveCompletionItem(item, token) {\n const myItem = item;\n const resource = myItem.uri;\n const position = myItem.position;\n const offset = myItem.offset;\n const worker = await this._worker(resource);\n const details = await worker.getCompletionEntryDetails(\n resource.toString(),\n offset,\n myItem.label\n );\n if (!details) {\n return myItem;\n }\n return {\n uri: resource,\n position,\n label: details.name,\n kind: SuggestAdapter.convertKind(details.kind),\n detail: displayPartsToString(details.displayParts),\n documentation: {\n value: SuggestAdapter.createDocumentationString(details)\n }\n };\n }\n static convertKind(kind) {\n switch (kind) {\n case Kind.primitiveType:\n case Kind.keyword:\n return languages.CompletionItemKind.Keyword;\n case Kind.variable:\n case Kind.localVariable:\n return languages.CompletionItemKind.Variable;\n case Kind.memberVariable:\n case Kind.memberGetAccessor:\n case Kind.memberSetAccessor:\n return languages.CompletionItemKind.Field;\n case Kind.function:\n case Kind.memberFunction:\n case Kind.constructSignature:\n case Kind.callSignature:\n case Kind.indexSignature:\n return languages.CompletionItemKind.Function;\n case Kind.enum:\n return languages.CompletionItemKind.Enum;\n case Kind.module:\n return languages.CompletionItemKind.Module;\n case Kind.class:\n return languages.CompletionItemKind.Class;\n case Kind.interface:\n return languages.CompletionItemKind.Interface;\n case Kind.warning:\n return languages.CompletionItemKind.File;\n }\n return languages.CompletionItemKind.Property;\n }\n static createDocumentationString(details) {\n let documentationString = displayPartsToString(details.documentation);\n if (details.tags) {\n for (const tag of details.tags) {\n documentationString += `\n\n${tagToString(tag)}`;\n }\n }\n return documentationString;\n }\n}\nfunction tagToString(tag) {\n let tagLabel = `*@${tag.name}*`;\n if (tag.name === \"param\" && tag.text) {\n const [paramName, ...rest] = tag.text;\n tagLabel += `\\`${paramName.text}\\``;\n if (rest.length > 0) tagLabel += ` \\u2014 ${rest.map((r) => r.text).join(\" \")}`;\n } else if (Array.isArray(tag.text)) {\n tagLabel += ` \\u2014 ${tag.text.map((r) => r.text).join(\" \")}`;\n } else if (tag.text) {\n tagLabel += ` \\u2014 ${tag.text}`;\n }\n return tagLabel;\n}\nclass SignatureHelpAdapter extends Adapter {\n constructor() {\n super(...arguments);\n this.signatureHelpTriggerCharacters = [\"(\", \",\"];\n }\n static _toSignatureHelpTriggerReason(context) {\n switch (context.triggerKind) {\n case languages.SignatureHelpTriggerKind.TriggerCharacter:\n if (context.triggerCharacter) {\n if (context.isRetrigger) {\n return { kind: \"retrigger\", triggerCharacter: context.triggerCharacter };\n } else {\n return { kind: \"characterTyped\", triggerCharacter: context.triggerCharacter };\n }\n } else {\n return { kind: \"invoked\" };\n }\n case languages.SignatureHelpTriggerKind.ContentChange:\n return context.isRetrigger ? { kind: \"retrigger\" } : { kind: \"invoked\" };\n case languages.SignatureHelpTriggerKind.Invoke:\n default:\n return { kind: \"invoked\" };\n }\n }\n async provideSignatureHelp(model, position, token, context) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getSignatureHelpItems(resource.toString(), offset, {\n triggerReason: SignatureHelpAdapter._toSignatureHelpTriggerReason(context)\n });\n if (!info || model.isDisposed()) {\n return;\n }\n const ret = {\n activeSignature: info.selectedItemIndex,\n activeParameter: info.argumentIndex,\n signatures: []\n };\n info.items.forEach((item) => {\n const signature = {\n label: \"\",\n parameters: []\n };\n signature.documentation = {\n value: displayPartsToString(item.documentation)\n };\n signature.label += displayPartsToString(item.prefixDisplayParts);\n item.parameters.forEach((p, i, a) => {\n const label = displayPartsToString(p.displayParts);\n const parameter = {\n label,\n documentation: {\n value: displayPartsToString(p.documentation)\n }\n };\n signature.label += label;\n signature.parameters.push(parameter);\n if (i < a.length - 1) {\n signature.label += displayPartsToString(item.separatorDisplayParts);\n }\n });\n signature.label += displayPartsToString(item.suffixDisplayParts);\n ret.signatures.push(signature);\n });\n return {\n value: ret,\n dispose() {\n }\n };\n }\n}\nclass QuickInfoAdapter extends Adapter {\n async provideHover(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const info = await worker.getQuickInfoAtPosition(resource.toString(), offset);\n if (!info || model.isDisposed()) {\n return;\n }\n const documentation = displayPartsToString(info.documentation);\n const tags = info.tags ? info.tags.map((tag) => tagToString(tag)).join(\" \\n\\n\") : \"\";\n const contents = displayPartsToString(info.displayParts);\n return {\n range: this._textSpanToRange(model, info.textSpan),\n contents: [\n {\n value: \"```typescript\\n\" + contents + \"\\n```\\n\"\n },\n {\n value: documentation + (tags ? \"\\n\\n\" + tags : \"\")\n }\n ]\n };\n }\n}\nclass DocumentHighlightAdapter extends Adapter {\n async provideDocumentHighlights(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getDocumentHighlights(resource.toString(), offset, [\n resource.toString()\n ]);\n if (!entries || model.isDisposed()) {\n return;\n }\n return entries.flatMap((entry) => {\n return entry.highlightSpans.map((highlightSpans) => {\n return {\n range: this._textSpanToRange(model, highlightSpans.textSpan),\n kind: highlightSpans.kind === \"writtenReference\" ? languages.DocumentHighlightKind.Write : languages.DocumentHighlightKind.Text\n };\n });\n });\n }\n}\nclass DefinitionAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideDefinition(model, position, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getDefinitionAtPosition(resource.toString(), offset);\n if (!entries || model.isDisposed()) {\n return;\n }\n await this._libFiles.fetchLibFilesIfNecessary(\n entries.map((entry) => Uri.parse(entry.fileName))\n );\n if (model.isDisposed()) {\n return;\n }\n const result = [];\n for (let entry of entries) {\n const refModel = this._libFiles.getOrCreateModel(entry.fileName);\n if (refModel) {\n result.push({\n uri: refModel.uri,\n range: this._textSpanToRange(refModel, entry.textSpan)\n });\n }\n }\n return result;\n }\n}\nclass ReferenceAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideReferences(model, position, context, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const entries = await worker.getReferencesAtPosition(resource.toString(), offset);\n if (!entries || model.isDisposed()) {\n return;\n }\n await this._libFiles.fetchLibFilesIfNecessary(\n entries.map((entry) => Uri.parse(entry.fileName))\n );\n if (model.isDisposed()) {\n return;\n }\n const result = [];\n for (let entry of entries) {\n const refModel = this._libFiles.getOrCreateModel(entry.fileName);\n if (refModel) {\n result.push({\n uri: refModel.uri,\n range: this._textSpanToRange(refModel, entry.textSpan)\n });\n }\n }\n return result;\n }\n}\nclass OutlineAdapter extends Adapter {\n async provideDocumentSymbols(model, token) {\n const resource = model.uri;\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const root = await worker.getNavigationTree(resource.toString());\n if (!root || model.isDisposed()) {\n return;\n }\n const convert = (item, containerLabel) => {\n const result2 = {\n name: item.text,\n detail: \"\",\n kind: outlineTypeTable[item.kind] || languages.SymbolKind.Variable,\n range: this._textSpanToRange(model, item.spans[0]),\n selectionRange: this._textSpanToRange(model, item.spans[0]),\n tags: [],\n children: item.childItems?.map((child) => convert(child, item.text)),\n containerName: containerLabel\n };\n return result2;\n };\n const result = root.childItems ? root.childItems.map((item) => convert(item)) : [];\n return result;\n }\n}\nclass Kind {\n}\nKind.unknown = \"\";\nKind.keyword = \"keyword\";\nKind.script = \"script\";\nKind.module = \"module\";\nKind.class = \"class\";\nKind.interface = \"interface\";\nKind.type = \"type\";\nKind.enum = \"enum\";\nKind.variable = \"var\";\nKind.localVariable = \"local var\";\nKind.function = \"function\";\nKind.localFunction = \"local function\";\nKind.memberFunction = \"method\";\nKind.memberGetAccessor = \"getter\";\nKind.memberSetAccessor = \"setter\";\nKind.memberVariable = \"property\";\nKind.constructorImplementation = \"constructor\";\nKind.callSignature = \"call\";\nKind.indexSignature = \"index\";\nKind.constructSignature = \"construct\";\nKind.parameter = \"parameter\";\nKind.typeParameter = \"type parameter\";\nKind.primitiveType = \"primitive type\";\nKind.label = \"label\";\nKind.alias = \"alias\";\nKind.const = \"const\";\nKind.let = \"let\";\nKind.warning = \"warning\";\nlet outlineTypeTable = /* @__PURE__ */ Object.create(null);\noutlineTypeTable[Kind.module] = languages.SymbolKind.Module;\noutlineTypeTable[Kind.class] = languages.SymbolKind.Class;\noutlineTypeTable[Kind.enum] = languages.SymbolKind.Enum;\noutlineTypeTable[Kind.interface] = languages.SymbolKind.Interface;\noutlineTypeTable[Kind.memberFunction] = languages.SymbolKind.Method;\noutlineTypeTable[Kind.memberVariable] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.memberGetAccessor] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.memberSetAccessor] = languages.SymbolKind.Property;\noutlineTypeTable[Kind.variable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.const] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.localVariable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.variable] = languages.SymbolKind.Variable;\noutlineTypeTable[Kind.function] = languages.SymbolKind.Function;\noutlineTypeTable[Kind.localFunction] = languages.SymbolKind.Function;\nclass FormatHelper extends Adapter {\n static _convertOptions(options) {\n return {\n ConvertTabsToSpaces: options.insertSpaces,\n TabSize: options.tabSize,\n IndentSize: options.tabSize,\n IndentStyle: 2 /* Smart */,\n NewLineCharacter: \"\\n\",\n InsertSpaceAfterCommaDelimiter: true,\n InsertSpaceAfterSemicolonInForStatements: true,\n InsertSpaceBeforeAndAfterBinaryOperators: true,\n InsertSpaceAfterKeywordsInControlFlowStatements: true,\n InsertSpaceAfterFunctionKeywordForAnonymousFunctions: true,\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: false,\n InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: false,\n InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: false,\n PlaceOpenBraceOnNewLineForControlBlocks: false,\n PlaceOpenBraceOnNewLineForFunctions: false\n };\n }\n _convertTextChanges(model, change) {\n return {\n text: change.newText,\n range: this._textSpanToRange(model, change.span)\n };\n }\n}\nclass FormatAdapter extends FormatHelper {\n constructor() {\n super(...arguments);\n this.canFormatMultipleRanges = false;\n }\n async provideDocumentRangeFormattingEdits(model, range, options, token) {\n const resource = model.uri;\n const startOffset = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const endOffset = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const edits = await worker.getFormattingEditsForRange(\n resource.toString(),\n startOffset,\n endOffset,\n FormatHelper._convertOptions(options)\n );\n if (!edits || model.isDisposed()) {\n return;\n }\n return edits.map((edit) => this._convertTextChanges(model, edit));\n }\n}\nclass FormatOnTypeAdapter extends FormatHelper {\n get autoFormatTriggerCharacters() {\n return [\";\", \"}\", \"\\n\"];\n }\n async provideOnTypeFormattingEdits(model, position, ch, options, token) {\n const resource = model.uri;\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const edits = await worker.getFormattingEditsAfterKeystroke(\n resource.toString(),\n offset,\n ch,\n FormatHelper._convertOptions(options)\n );\n if (!edits || model.isDisposed()) {\n return;\n }\n return edits.map((edit) => this._convertTextChanges(model, edit));\n }\n}\nclass CodeActionAdaptor extends FormatHelper {\n async provideCodeActions(model, range, context, token) {\n const resource = model.uri;\n const start = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const end = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const formatOptions = FormatHelper._convertOptions(model.getOptions());\n const errorCodes = context.markers.filter((m) => m.code).map((m) => m.code).map(Number);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const codeFixes = await worker.getCodeFixesAtPosition(\n resource.toString(),\n start,\n end,\n errorCodes,\n formatOptions\n );\n if (!codeFixes || model.isDisposed()) {\n return { actions: [], dispose: () => {\n } };\n }\n const actions = codeFixes.filter((fix) => {\n return fix.changes.filter((change) => change.isNewFile).length === 0;\n }).map((fix) => {\n return this._tsCodeFixActionToMonacoCodeAction(model, context, fix);\n });\n return {\n actions,\n dispose: () => {\n }\n };\n }\n _tsCodeFixActionToMonacoCodeAction(model, context, codeFix) {\n const edits = [];\n for (const change of codeFix.changes) {\n for (const textChange of change.textChanges) {\n edits.push({\n resource: model.uri,\n versionId: void 0,\n textEdit: {\n range: this._textSpanToRange(model, textChange.span),\n text: textChange.newText\n }\n });\n }\n }\n const action = {\n title: codeFix.description,\n edit: { edits },\n diagnostics: context.markers,\n kind: \"quickfix\"\n };\n return action;\n }\n}\nclass RenameAdapter extends Adapter {\n constructor(_libFiles, worker) {\n super(worker);\n this._libFiles = _libFiles;\n }\n async provideRenameEdits(model, position, newName, token) {\n const resource = model.uri;\n const fileName = resource.toString();\n const offset = model.getOffsetAt(position);\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return;\n }\n const renameInfo = await worker.getRenameInfo(fileName, offset, {\n allowRenameOfImportPath: false\n });\n if (renameInfo.canRename === false) {\n return {\n edits: [],\n rejectReason: renameInfo.localizedErrorMessage\n };\n }\n if (renameInfo.fileToRename !== void 0) {\n throw new Error(\"Renaming files is not supported.\");\n }\n const renameLocations = await worker.findRenameLocations(\n fileName,\n offset,\n /*strings*/\n false,\n /*comments*/\n false,\n /*prefixAndSuffix*/\n false\n );\n if (!renameLocations || model.isDisposed()) {\n return;\n }\n const edits = [];\n for (const renameLocation of renameLocations) {\n const model2 = this._libFiles.getOrCreateModel(renameLocation.fileName);\n if (model2) {\n edits.push({\n resource: model2.uri,\n versionId: void 0,\n textEdit: {\n range: this._textSpanToRange(model2, renameLocation.textSpan),\n text: newName\n }\n });\n } else {\n throw new Error(`Unknown file ${renameLocation.fileName}.`);\n }\n }\n return { edits };\n }\n}\nclass InlayHintsAdapter extends Adapter {\n async provideInlayHints(model, range, token) {\n const resource = model.uri;\n const fileName = resource.toString();\n const start = model.getOffsetAt({\n lineNumber: range.startLineNumber,\n column: range.startColumn\n });\n const end = model.getOffsetAt({\n lineNumber: range.endLineNumber,\n column: range.endColumn\n });\n const worker = await this._worker(resource);\n if (model.isDisposed()) {\n return null;\n }\n const tsHints = await worker.provideInlayHints(fileName, start, end);\n const hints = tsHints.map((hint) => {\n return {\n ...hint,\n label: hint.text,\n position: model.getPositionAt(hint.position),\n kind: this._convertHintKind(hint.kind)\n };\n });\n return { hints, dispose: () => {\n } };\n }\n _convertHintKind(kind) {\n switch (kind) {\n case \"Parameter\":\n return languages.InlayHintKind.Parameter;\n case \"Type\":\n return languages.InlayHintKind.Type;\n default:\n return languages.InlayHintKind.Type;\n }\n }\n}\n\nexport { Adapter, CodeActionAdaptor, DefinitionAdapter, DiagnosticsAdapter, DocumentHighlightAdapter, FormatAdapter, FormatHelper, FormatOnTypeAdapter, InlayHintsAdapter, Kind, LibFiles, OutlineAdapter, QuickInfoAdapter, ReferenceAdapter, RenameAdapter, SignatureHelpAdapter, SuggestAdapter, flattenDiagnosticMessageText };\n","import { WorkerManager } from './workerManager.js';\nimport { SuggestAdapter, SignatureHelpAdapter, QuickInfoAdapter, DocumentHighlightAdapter, DefinitionAdapter, LibFiles, ReferenceAdapter, OutlineAdapter, RenameAdapter, FormatAdapter, FormatOnTypeAdapter, CodeActionAdaptor, InlayHintsAdapter, DiagnosticsAdapter } from './languageFeatures.js';\nexport { Adapter, FormatHelper, Kind, flattenDiagnosticMessageText } from './languageFeatures.js';\nimport '../../editor/browser/coreCommands.js';\nimport '../../editor/browser/widget/codeEditor/codeEditorWidget.js';\nimport '../../editor/browser/widget/diffEditor/diffEditor.contribution.js';\nimport '../../editor/contrib/anchorSelect/browser/anchorSelect.js';\nimport '../../editor/contrib/bracketMatching/browser/bracketMatching.js';\nimport '../../editor/contrib/caretOperations/browser/caretOperations.js';\nimport '../../editor/contrib/caretOperations/browser/transpose.js';\nimport '../../editor/contrib/clipboard/browser/clipboard.js';\nimport '../../editor/contrib/codeAction/browser/codeActionContributions.js';\nimport '../../editor/contrib/codelens/browser/codelensController.js';\nimport '../../editor/contrib/colorPicker/browser/colorPickerContribution.js';\nimport '../../editor/contrib/comment/browser/comment.js';\nimport '../../editor/contrib/contextmenu/browser/contextmenu.js';\nimport '../../editor/contrib/cursorUndo/browser/cursorUndo.js';\nimport '../../editor/contrib/dnd/browser/dnd.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/copyPasteContribution.js';\nimport '../../editor/contrib/dropOrPasteInto/browser/dropIntoEditorContribution.js';\nimport '../../editor/contrib/find/browser/findController.js';\nimport '../../editor/contrib/folding/browser/folding.js';\nimport '../../editor/contrib/fontZoom/browser/fontZoom.js';\nimport '../../editor/contrib/format/browser/formatActions.js';\nimport '../../editor/contrib/documentSymbols/browser/documentSymbols.js';\nimport '../../editor/contrib/inlineCompletions/browser/inlineCompletions.contribution.js';\nimport '../../editor/contrib/inlineProgress/browser/inlineProgress.js';\nimport '../../editor/contrib/gotoSymbol/browser/goToCommands.js';\nimport '../../editor/contrib/gotoSymbol/browser/link/goToDefinitionAtPosition.js';\nimport '../../editor/contrib/gotoError/browser/gotoError.js';\nimport '../../editor/contrib/gpu/browser/gpuActions.js';\nimport '../../editor/contrib/hover/browser/hoverContribution.js';\nimport '../../editor/contrib/indentation/browser/indentation.js';\nimport '../../editor/contrib/inlayHints/browser/inlayHintsContribution.js';\nimport '../../editor/contrib/inPlaceReplace/browser/inPlaceReplace.js';\nimport '../../editor/contrib/insertFinalNewLine/browser/insertFinalNewLine.js';\nimport '../../editor/contrib/lineSelection/browser/lineSelection.js';\nimport '../../editor/contrib/linesOperations/browser/linesOperations.js';\nimport '../../editor/contrib/linkedEditing/browser/linkedEditing.js';\nimport '../../editor/contrib/links/browser/links.js';\nimport '../../editor/contrib/longLinesHelper/browser/longLinesHelper.js';\nimport '../../editor/contrib/middleScroll/browser/middleScroll.contribution.js';\nimport '../../editor/contrib/multicursor/browser/multicursor.js';\nimport '../../editor/contrib/parameterHints/browser/parameterHints.js';\nimport '../../editor/contrib/placeholderText/browser/placeholderText.contribution.js';\nimport '../../editor/contrib/rename/browser/rename.js';\nimport '../../editor/contrib/sectionHeaders/browser/sectionHeaders.js';\nimport '../../editor/contrib/semanticTokens/browser/documentSemanticTokens.js';\nimport '../../editor/contrib/semanticTokens/browser/viewportSemanticTokens.js';\nimport '../../editor/contrib/smartSelect/browser/smartSelect.js';\nimport '../../editor/contrib/snippet/browser/snippetController2.js';\nimport '../../editor/contrib/stickyScroll/browser/stickyScrollContribution.js';\nimport '../../editor/contrib/suggest/browser/suggestController.js';\nimport '../../editor/contrib/suggest/browser/suggestInlineCompletions.js';\nimport '../../editor/contrib/tokenization/browser/tokenization.js';\nimport '../../editor/contrib/toggleTabFocusMode/browser/toggleTabFocusMode.js';\nimport '../../editor/contrib/unicodeHighlighter/browser/unicodeHighlighter.js';\nimport '../../editor/contrib/unusualLineTerminators/browser/unusualLineTerminators.js';\nimport '../../editor/contrib/wordHighlighter/browser/wordHighlighter.js';\nimport '../../editor/contrib/wordOperations/browser/wordOperations.js';\nimport '../../editor/contrib/wordPartOperations/browser/wordPartOperations.js';\nimport '../../editor/contrib/readOnlyMessage/browser/contribution.js';\nimport '../../editor/contrib/diffEditorBreadcrumbs/browser/contribution.js';\nimport '../../editor/contrib/floatingMenu/browser/floatingMenu.contribution.js';\nimport '../../editor/common/standaloneStrings.js';\nimport '../../base/browser/ui/codicons/codicon/codicon.css';\nimport '../../base/browser/ui/codicons/codicon/codicon-modifiers.css';\nimport '../../editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard.js';\nimport '../../editor/standalone/browser/inspectTokens/inspectTokens.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneHelpQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoLineQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneGotoSymbolQuickAccess.js';\nimport '../../editor/standalone/browser/quickAccess/standaloneCommandsQuickAccess.js';\nimport '../../editor/standalone/browser/referenceSearch/standaloneReferenceSearch.js';\nimport '../../editor/standalone/browser/toggleHighContrast/toggleHighContrast.js';\nimport { languages } from '../../editor/editor.api2.js';\n\nlet javaScriptWorker;\nlet typeScriptWorker;\nfunction setupTypeScript(defaults) {\n typeScriptWorker = setupMode(defaults, \"typescript\");\n}\nfunction setupJavaScript(defaults) {\n javaScriptWorker = setupMode(defaults, \"javascript\");\n}\nfunction getJavaScriptWorker() {\n return new Promise((resolve, reject) => {\n if (!javaScriptWorker) {\n return reject(\"JavaScript not registered!\");\n }\n resolve(javaScriptWorker);\n });\n}\nfunction getTypeScriptWorker() {\n return new Promise((resolve, reject) => {\n if (!typeScriptWorker) {\n return reject(\"TypeScript not registered!\");\n }\n resolve(typeScriptWorker);\n });\n}\nfunction setupMode(defaults, modeId) {\n const providers = [];\n const client = new WorkerManager(modeId, defaults);\n const worker = (...uris) => {\n return client.getLanguageServiceWorker(...uris);\n };\n const libFiles = new LibFiles(worker);\n function registerProviders() {\n const { modeConfiguration } = defaults;\n disposeAll(providers);\n if (modeConfiguration.completionItems) {\n providers.push(\n languages.registerCompletionItemProvider(\n modeId,\n new SuggestAdapter(worker)\n )\n );\n }\n if (modeConfiguration.signatureHelp) {\n providers.push(\n languages.registerSignatureHelpProvider(\n modeId,\n new SignatureHelpAdapter(worker)\n )\n );\n }\n if (modeConfiguration.hovers) {\n providers.push(\n languages.registerHoverProvider(modeId, new QuickInfoAdapter(worker))\n );\n }\n if (modeConfiguration.documentHighlights) {\n providers.push(\n languages.registerDocumentHighlightProvider(\n modeId,\n new DocumentHighlightAdapter(worker)\n )\n );\n }\n if (modeConfiguration.definitions) {\n providers.push(\n languages.registerDefinitionProvider(\n modeId,\n new DefinitionAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.references) {\n providers.push(\n languages.registerReferenceProvider(\n modeId,\n new ReferenceAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.documentSymbols) {\n providers.push(\n languages.registerDocumentSymbolProvider(\n modeId,\n new OutlineAdapter(worker)\n )\n );\n }\n if (modeConfiguration.rename) {\n providers.push(\n languages.registerRenameProvider(\n modeId,\n new RenameAdapter(libFiles, worker)\n )\n );\n }\n if (modeConfiguration.documentRangeFormattingEdits) {\n providers.push(\n languages.registerDocumentRangeFormattingEditProvider(\n modeId,\n new FormatAdapter(worker)\n )\n );\n }\n if (modeConfiguration.onTypeFormattingEdits) {\n providers.push(\n languages.registerOnTypeFormattingEditProvider(\n modeId,\n new FormatOnTypeAdapter(worker)\n )\n );\n }\n if (modeConfiguration.codeActions) {\n providers.push(\n languages.registerCodeActionProvider(modeId, new CodeActionAdaptor(worker))\n );\n }\n if (modeConfiguration.inlayHints) {\n providers.push(\n languages.registerInlayHintsProvider(modeId, new InlayHintsAdapter(worker))\n );\n }\n if (modeConfiguration.diagnostics) {\n providers.push(new DiagnosticsAdapter(libFiles, defaults, modeId, worker));\n }\n }\n registerProviders();\n return worker;\n}\nfunction disposeAll(disposables) {\n while (disposables.length) {\n disposables.pop().dispose();\n }\n}\n\nexport { CodeActionAdaptor, DefinitionAdapter, DiagnosticsAdapter, DocumentHighlightAdapter, FormatAdapter, FormatOnTypeAdapter, InlayHintsAdapter, LibFiles, OutlineAdapter, QuickInfoAdapter, ReferenceAdapter, RenameAdapter, SignatureHelpAdapter, SuggestAdapter, WorkerManager, getJavaScriptWorker, getTypeScriptWorker, setupJavaScript, setupTypeScript };\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"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"}
|
package/dist/index.html
CHANGED
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/logo.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>Canyon</title>
|
|
8
|
-
<script type="module" crossorigin src="/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/assets/index-Buo2eS-Q.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/assets/chunk-DECur_0Z.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-ca-nBW7U.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/assets/chunk-UVKPFVEO-B3Wzw28P.js">
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/assets/request-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/dropdown-
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/assets/SearchOutlined-
|
|
15
|
-
<link rel="modulepreload" crossorigin href="/assets/avatar-
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/assets/request-OsR-2ZDW.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="/assets/dropdown-CRMju3hp.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/assets/SearchOutlined-BbFgLxbH.js">
|
|
15
|
+
<link rel="modulepreload" crossorigin href="/assets/avatar-mH_YkdK6.js">
|
|
16
16
|
<link rel="modulepreload" crossorigin href="/assets/editor.api2-9Yi1n-1N.js">
|
|
17
|
-
<link rel="modulepreload" crossorigin href="/assets/login
|
|
17
|
+
<link rel="modulepreload" crossorigin href="/assets/login-BIxW6k10.js">
|
|
18
18
|
<link rel="stylesheet" crossorigin href="/assets/editor-D_FpifaX.css">
|
|
19
19
|
<link rel="stylesheet" crossorigin href="/assets/index-Dd9658Nx.css">
|
|
20
20
|
</head>
|
package/dist/index.js
CHANGED
|
@@ -168,5 +168,5 @@ globstar while`,t,f,n,p,m),this.matchOne(t.slice(f),n.slice(p),r))return this.de
|
|
|
168
168
|
WHERE n.nspname = 'public'
|
|
169
169
|
AND c.relkind = 'r'
|
|
170
170
|
AND c.relname LIKE 'canyon_next_%'
|
|
171
|
-
ORDER BY pg_total_relation_size(c.oid) DESC;`).map(e=>({tableName:e.table_name,rowEstimate:Number(e.row_estimate??0),totalBytes:Number(e.total_bytes),tableBytes:Number(e.table_bytes),indexBytes:Number(e.index_bytes),totalSizePretty:e.total_size_pretty,tableSizePretty:e.table_size_pretty,indexSizePretty:e.index_size_pretty})),n={tableCount:t.length,rowEstimate:t.reduce((e,t)=>e+t.rowEstimate,0),totalBytes:t.reduce((e,t)=>e+t.totalBytes,0),totalSizePretty:`${(t.reduce((e,t)=>e+t.totalBytes,0)/1024/1024).toFixed(2)} MB`};return e.json({tables:t,totals:n})});var ST=q({type:hh([`info`,`warn`,`error`,`fatal`,`debug`]),title:K(),message:K(),addInfo:sh(K(),Lm()).optional()}),CT=Ng({method:`post`,path:`/`,summary:`写入服务端日志`,description:`接收日志内容并调用服务端 logger 输出`,tags:[`日志`],request:{body:{content:{"application/json":{schema:ST}},required:!0}},responses:{200:{description:`日志写入成功`,content:{"application/json":{schema:q({success:Sm()})}}}}}),wT=new Mg;wT.openapi(CT,async e=>(bw(e.req.valid(`json`)),e.json({success:!0})));function TT(e){let{root:t}=e,n=e.index??`/index.html`,r=[...e.rewrites??[],{from:/\/-\//,to:n}],i=e.htmlAcceptHeaders??[`text/html`,`*/*`],a=e.disableDotRule??!1,o=e.logger??(e.verbose?(...e)=>console.log(...e):()=>{}),s=e=>i.some(t=>e.indexOf(t)!==-1);return async(e,i)=>{let c=e.req.method,l=new URL(e.req.url),u=l.pathname,d=e.req.header(`Accept`)??``;if(c!==`GET`&&c!==`HEAD`)return o(`Not rewriting`,c,e.req.url,`because the method is not GET or HEAD.`),i();if(typeof d!=`string`)return o(`Not rewriting`,c,e.req.url,`because the client did not send an HTTP accept header.`),i();if(d.indexOf(`application/json`)===0)return o(`Not rewriting`,c,e.req.url,`because the client prefers JSON.`),i();if(!s(d))return o(`Not rewriting`,c,e.req.url,`because the client does not accept HTML.`),i();for(let n of r){let r=u.match(n.from);if(r!==null){let a=typeof n.to==`string`?n.to:n.to({parsedUrl:l,match:r});o(`Rewriting`,c,e.req.url,`to`,a);let s=v(t,a.replace(/^\//,``));return A(s)?e.html(j(s,`utf-8`)):i()}}if(u.lastIndexOf(`.`)>u.lastIndexOf(`/`)&&!a)return o(`Not rewriting`,c,e.req.url,`because the path includes a dot (.) character.`),i();o(`Rewriting`,c,e.req.url,`to`,n);let f=v(t,n.replace(/^\//,``));return A(f)?e.html(j(f,`utf-8`)):i()}}await w_(),await A_(),U_();var ET=p(new URL(`.`,import.meta.url)),DT=new dt,OT=new Mg;OT.route(`/repos`,aC),OT.route(`/user`,hT),OT.route(`/infra`,xT),OT.route(`/source`,HC),OT.route(`/coverage`,Cw),OT.route(`/coverage`,uT),OT.route(`/logger`,wT),OT.doc(`/doc`,{openapi:`3.0.0`,info:{version:`1.0.0`,title:`API`,description:`全栈 Web 应用 API,包含文章、仓库、源码、覆盖率等模块。`},servers:[{url:`/api`,description:`API base path`}]}),OT.get(`/ui`,Ug({url:`/api/doc`,baseUrl:`https://unpkg.com`})),OT.get(`/health`,e=>e.text(`OK`)),OT.post(`/debug/body-size`,async e=>{let t=(await e.req.arrayBuffer()).byteLength;return e.json({sizeBytes:t,sizeKB:Number((t/1024).toFixed(2)),sizeMB:Number((t/1024/1024).toFixed(2)),contentLengthHeader:e.req.header(`Content-Length`)??null})}),DT.get(`/vi/health`,e=>e.text(`OK`)),DT.use(`/api/*`,ft()),DT.route(`/api`,OT),DT.use(`/*`,TT({root:ET})),DT.use(`/*`,e_({root:ET}));var kT=class extends Error{constructor(e,t){super(e,t),this.name=`RequestError`}},AT=e=>e instanceof kT?e:new kT(e.message,{cause:e}),jT=global.Request,MT=class extends jT{constructor(e,t){typeof e==`object`&&IT in e&&(e=e[IT]()),t?.body?.getReader!==void 0&&(t.duplex??=`half`),super(e,t)}},NT=e=>{let t=[],n=e.rawHeaders;for(let e=0;e<n.length;e+=2){let{[e]:r,[e+1]:i}=n;r.charCodeAt(0)!==58&&t.push([r,i])}return new Headers(t)},PT=Symbol(`wrapBodyStream`),FT=(e,t,n,r,i)=>{let a={method:e,headers:n,signal:i.signal};if(e===`TRACE`){a.method=`GET`;let e=new MT(t,a);return Object.defineProperty(e,`method`,{get(){return`TRACE`}}),e}if(!(e===`GET`||e===`HEAD`))if(`rawBody`in r&&r.rawBody instanceof Buffer)a.body=new ReadableStream({start(e){e.enqueue(r.rawBody),e.close()}});else if(r[PT]){let e;a.body=new ReadableStream({async pull(t){try{e||=f.toWeb(r).getReader();let{done:n,value:i}=await e.read();n?t.close():t.enqueue(i)}catch(e){t.error(e)}}})}else a.body=f.toWeb(r);return new MT(t,a)},IT=Symbol(`getRequestCache`),LT=Symbol(`requestCache`),RT=Symbol(`incomingKey`),zT=Symbol(`urlKey`),BT=Symbol(`headersKey`),VT=Symbol(`abortControllerKey`),HT={get method(){return this[RT].method||`GET`},get url(){return this[zT]},get headers(){return this[BT]||=NT(this[RT])},[Symbol(`getAbortController`)](){return this[IT](),this[VT]},[IT](){return this[VT]||=new AbortController,this[LT]||=FT(this.method,this[zT],this.headers,this[RT],this[VT])}};[`body`,`bodyUsed`,`cache`,`credentials`,`destination`,`integrity`,`mode`,`redirect`,`referrer`,`referrerPolicy`,`signal`,`keepalive`].forEach(e=>{Object.defineProperty(HT,e,{get(){return this[IT]()[e]}})}),[`arrayBuffer`,`blob`,`clone`,`formData`,`json`,`text`].forEach(e=>{Object.defineProperty(HT,e,{value:function(){return this[IT]()[e]()}})}),Object.setPrototypeOf(HT,MT.prototype);var UT=(e,t)=>{let n=Object.create(HT);n[RT]=e;let r=e.url||``;if(r[0]!==`/`&&(r.startsWith(`http://`)||r.startsWith(`https://`))){if(e instanceof E)throw new kT(`Absolute URL for :path is not allowed in HTTP/2`);try{n[zT]=new URL(r).href}catch(e){throw new kT(`Invalid absolute URL`,{cause:e})}return n}let i=(e instanceof E?e.authority:e.headers.host)||t;if(!i)throw new kT(`Missing host header`);let a;if(e instanceof E){if(a=e.scheme,!(a===`http`||a===`https`))throw new kT(`Unsupported scheme`)}else a=e.socket&&e.socket.encrypted?`https`:`http`;let o=new URL(`${a}://${i}${r}`);if(o.hostname.length!==i.length&&o.hostname!==i.replace(/:\d+$/,``))throw new kT(`Invalid host header`);return n[zT]=o.href,n},WT=Symbol(`responseCache`),GT=Symbol(`getResponseCache`),KT=Symbol(`cache`),qT=global.Response,JT=class e{#e;#t;[GT](){return delete this[KT],this[WT]||=new qT(this.#e,this.#t)}constructor(t,n){let r;if(this.#e=t,n instanceof e){let e=n[WT];if(e){this.#t=e,this[GT]();return}else this.#t=n.#t,r=new Headers(n.#t.headers)}else this.#t=n;(typeof t==`string`||t?.getReader!==void 0||t instanceof Blob||t instanceof Uint8Array)&&(this[KT]=[n?.status||200,t,r||n?.headers])}get headers(){let e=this[KT];return e?(e[2]instanceof Headers||(e[2]=new Headers(e[2]||{"content-type":`text/plain; charset=UTF-8`})),e[2]):this[GT]().headers}get status(){return this[KT]?.[0]??this[GT]().status}get ok(){let e=this.status;return e>=200&&e<300}};[`body`,`bodyUsed`,`redirected`,`statusText`,`trailers`,`type`,`url`].forEach(e=>{Object.defineProperty(JT.prototype,e,{get(){return this[GT]()[e]}})}),[`arrayBuffer`,`blob`,`clone`,`formData`,`json`,`text`].forEach(e=>{Object.defineProperty(JT.prototype,e,{value:function(){return this[GT]()[e]()}})}),Object.setPrototypeOf(JT,qT),Object.setPrototypeOf(JT.prototype,qT.prototype);async function YT(e){return Promise.race([e,Promise.resolve().then(()=>Promise.resolve(void 0))])}function XT(e,t,n){let r=t=>{e.cancel(t).catch(()=>{})};return t.on(`close`,r),t.on(`error`,r),(n??e.read()).then(o,i),e.closed.finally(()=>{t.off(`close`,r),t.off(`error`,r)});function i(e){e&&t.destroy(e)}function a(){e.read().then(o,i)}function o({done:n,value:r}){try{if(n)t.end();else if(!t.write(r))t.once(`drain`,a);else return e.read().then(o,i)}catch(e){i(e)}}}function ZT(e,t){if(e.locked)throw TypeError(`ReadableStream is locked.`);return t.destroyed?void 0:XT(e.getReader(),t)}var QT=e=>{let t={};e instanceof Headers||(e=new Headers(e??void 0));let n=[];for(let[r,i]of e)r===`set-cookie`?n.push(i):t[r]=i;return n.length>0&&(t[`set-cookie`]=n),t[`content-type`]??=`text/plain; charset=UTF-8`,t},$T=`x-hono-already-sent`;global.crypto===void 0&&(global.crypto=m);var eE=Symbol(`outgoingEnded`),tE=()=>new Response(null,{status:400}),nE=e=>new Response(null,{status:e instanceof Error&&(e.name===`TimeoutError`||e.constructor.name===`TimeoutError`)?504:500}),rE=(e,t)=>{let n=e instanceof Error?e:Error(`unknown error`,{cause:e});n.code===`ERR_STREAM_PREMATURE_CLOSE`?console.info(`The user aborted a request.`):(console.error(e),t.headersSent||t.writeHead(500,{"Content-Type":`text/plain`}),t.end(`Error: ${n.message}`),t.destroy(n))},iE=e=>{`flushHeaders`in e&&e.writable&&e.flushHeaders()},aE=async(e,t)=>{let[n,r,i]=e[KT],a=!1;if(!i)i={"content-type":`text/plain; charset=UTF-8`};else if(i instanceof Headers)a=i.has(`content-length`),i=QT(i);else if(Array.isArray(i)){let e=new Headers(i);a=e.has(`content-length`),i=QT(e)}else for(let e in i)if(e.length===14&&e.toLowerCase()===`content-length`){a=!0;break}a||(typeof r==`string`?i[`Content-Length`]=Buffer.byteLength(r):r instanceof Uint8Array?i[`Content-Length`]=r.byteLength:r instanceof Blob&&(i[`Content-Length`]=r.size)),t.writeHead(n,i),typeof r==`string`||r instanceof Uint8Array?t.end(r):r instanceof Blob?t.end(new Uint8Array(await r.arrayBuffer())):(iE(t),await ZT(r,t)?.catch(e=>rE(e,t))),t[eE]?.()},oE=e=>typeof e.then==`function`,sE=async(e,t,n={})=>{if(oE(e))if(n.errorHandler)try{e=await e}catch(t){let r=await n.errorHandler(t);if(!r)return;e=r}else e=await e.catch(nE);if(KT in e)return aE(e,t);let r=QT(e.headers);if(e.body){let n=e.body.getReader(),i=[],a=!1,o;if(r[`transfer-encoding`]!==`chunked`){let e=2;for(let t=0;t<e;t++){o||=n.read();let r=await YT(o).catch(e=>{console.error(e),a=!0});if(!r){if(t===1){await new Promise(e=>setTimeout(e)),e=3;continue}break}if(o=void 0,r.value&&i.push(r.value),r.done){a=!0;break}}a&&!(`content-length`in r)&&(r[`content-length`]=i.reduce((e,t)=>e+t.length,0))}t.writeHead(e.status,r),i.forEach(e=>{t.write(e)}),a?t.end():(i.length===0&&iE(t),await XT(n,t,o))}else r[$T]||(t.writeHead(e.status,r),t.end());t[eE]?.()},cE=(e,t={})=>{let n=t.autoCleanupIncoming??!0;return t.overrideGlobalObjects!==!1&&global.Request!==MT&&(Object.defineProperty(global,`Request`,{value:MT}),Object.defineProperty(global,`Response`,{value:JT})),async(r,i)=>{let a,o;try{o=UT(r,t.hostname);let s=!n||r.method===`GET`||r.method===`HEAD`;if(s||(r[PT]=!0,r.on(`end`,()=>{s=!0}),r instanceof E&&(i[eE]=()=>{s||setTimeout(()=>{s||setTimeout(()=>{r.destroy(),i.destroy()})})})),i.on(`close`,()=>{o[VT]&&(r.errored?o[VT].abort(r.errored.toString()):i.writableFinished||o[VT].abort(`Client connection prematurely closed.`)),s||setTimeout(()=>{s||setTimeout(()=>{r.destroy()})})}),a=e(o,{incoming:r,outgoing:i}),KT in a)return aE(a,i)}catch(e){if(a)return rE(e,i);if(t.errorHandler){if(a=await t.errorHandler(o?e:AT(e)),!a)return}else a=o?nE(e):tE()}try{return await sE(a,i,t)}catch(e){return rE(e,i)}}},lE=e=>{let t=e.fetch,n=cE(t,{hostname:e.hostname,overrideGlobalObjects:e.overrideGlobalObjects,autoCleanupIncoming:e.autoCleanupIncoming});return(e.createServer||S)(e.serverOptions||{},n)},uE=(e,t)=>{let n=lE(e);return n.listen(e?.port??3e3,e.hostname,()=>{let e=n.address();t&&t(e)}),n},dE=new dt;dE.use(`/default-avatar.svg`,e_({root:`./`})),dE.use(`/gitproviders/*`,e_({root:`./`})),dE.use(`/logo.svg`,e_({root:`./`})),dE.use(`/assets/*`,e_({root:`./`})),dE.use(`/index.html`,e_({root:`./`})),dE.use(`/libquery_engine-debian-openssl-3.0.x.so.node`,e_({root:`./`})),dE.use(`/libquery_engine-rhel-openssl-3.0.x.so.node`,e_({root:`./`}));var fE=Object.assign({"/src/api/index.ts":DT}),pE=!1;for(let[,e]of Object.entries(fE))e&&(dE.all(`*`,t=>{let n;try{n=t.executionCtx}catch{}return e.fetch(t.req.raw,t.env,n)}),dE.notFound(t=>{let n;try{n=t.executionCtx}catch{}return e.fetch(t.req.raw,t.env,n)}),pE=!0);if(!pE)throw Error(`Can't import modules from ['/src/api/index.ts']`);uE({fetch:dE.fetch,port:8080});export{dE as default};
|
|
171
|
+
ORDER BY pg_total_relation_size(c.oid) DESC;`).map(e=>({tableName:e.table_name,rowEstimate:Number(e.row_estimate??0),totalBytes:Number(e.total_bytes),tableBytes:Number(e.table_bytes),indexBytes:Number(e.index_bytes),totalSizePretty:e.total_size_pretty,tableSizePretty:e.table_size_pretty,indexSizePretty:e.index_size_pretty})),n={tableCount:t.length,rowEstimate:t.reduce((e,t)=>e+t.rowEstimate,0),totalBytes:t.reduce((e,t)=>e+t.totalBytes,0),totalSizePretty:`${(t.reduce((e,t)=>e+t.totalBytes,0)/1024/1024).toFixed(2)} MB`};return e.json({tables:t,totals:n})});var ST=q({type:hh([`info`,`warn`,`error`,`fatal`,`debug`]),title:K(),message:K(),addInfo:sh(K(),Lm()).optional()}),CT=Ng({method:`post`,path:`/`,summary:`写入服务端日志`,description:`接收日志内容并调用服务端 logger 输出`,tags:[`日志`],request:{body:{content:{"application/json":{schema:ST}},required:!0}},responses:{200:{description:`日志写入成功`,content:{"application/json":{schema:q({success:Sm()})}}}}}),wT=new Mg;wT.openapi(CT,async e=>(bw(e.req.valid(`json`)),e.json({success:!0})));function TT(e){let{root:t}=e,n=e.index??`/index.html`,r=[...e.rewrites??[],{from:/\/-\//,to:n}],i=e.htmlAcceptHeaders??[`text/html`,`*/*`],a=e.disableDotRule??!1,o=e.logger??(e.verbose?(...e)=>console.log(...e):()=>{}),s=e=>i.some(t=>e.indexOf(t)!==-1);return async(e,i)=>{let c=e.req.method,l=new URL(e.req.url),u=l.pathname,d=e.req.header(`Accept`)??``;if(c!==`GET`&&c!==`HEAD`)return o(`Not rewriting`,c,e.req.url,`because the method is not GET or HEAD.`),i();if(typeof d!=`string`)return o(`Not rewriting`,c,e.req.url,`because the client did not send an HTTP accept header.`),i();if(d.indexOf(`application/json`)===0)return o(`Not rewriting`,c,e.req.url,`because the client prefers JSON.`),i();if(!s(d))return o(`Not rewriting`,c,e.req.url,`because the client does not accept HTML.`),i();for(let n of r){let r=u.match(n.from);if(r!==null){let a=typeof n.to==`string`?n.to:n.to({parsedUrl:l,match:r});o(`Rewriting`,c,e.req.url,`to`,a);let s=v(t,a.replace(/^\//,``));return A(s)?e.html(j(s,`utf-8`)):i()}}if(u.lastIndexOf(`.`)>u.lastIndexOf(`/`)&&!a)return o(`Not rewriting`,c,e.req.url,`because the path includes a dot (.) character.`),i();o(`Rewriting`,c,e.req.url,`to`,n);let f=v(t,n.replace(/^\//,``));return A(f)?e.html(j(f,`utf-8`)):i()}}console.log(`启动中...`),await w_(),await A_(),U_();var ET=p(new URL(`.`,import.meta.url)),DT=new dt,OT=new Mg;OT.route(`/repos`,aC),OT.route(`/user`,hT),OT.route(`/infra`,xT),OT.route(`/source`,HC),OT.route(`/coverage`,Cw),OT.route(`/coverage`,uT),OT.route(`/logger`,wT),OT.doc(`/doc`,{openapi:`3.0.0`,info:{version:`1.0.0`,title:`API`,description:`全栈 Web 应用 API,包含文章、仓库、源码、覆盖率等模块。`},servers:[{url:`/api`,description:`API base path`}]}),OT.get(`/ui`,Ug({url:`/api/doc`,baseUrl:`https://unpkg.com`})),OT.get(`/health`,e=>e.text(`OK`)),OT.post(`/debug/body-size`,async e=>{let t=(await e.req.arrayBuffer()).byteLength;return e.json({sizeBytes:t,sizeKB:Number((t/1024).toFixed(2)),sizeMB:Number((t/1024/1024).toFixed(2)),contentLengthHeader:e.req.header(`Content-Length`)??null})}),DT.get(`/vi/health`,e=>e.text(`OK`)),DT.use(`/api/*`,ft()),DT.route(`/api`,OT),DT.use(`/*`,TT({root:ET})),DT.use(`/*`,e_({root:ET})),console.log(`启动完成...`);var kT=class extends Error{constructor(e,t){super(e,t),this.name=`RequestError`}},AT=e=>e instanceof kT?e:new kT(e.message,{cause:e}),jT=global.Request,MT=class extends jT{constructor(e,t){typeof e==`object`&&IT in e&&(e=e[IT]()),t?.body?.getReader!==void 0&&(t.duplex??=`half`),super(e,t)}},NT=e=>{let t=[],n=e.rawHeaders;for(let e=0;e<n.length;e+=2){let{[e]:r,[e+1]:i}=n;r.charCodeAt(0)!==58&&t.push([r,i])}return new Headers(t)},PT=Symbol(`wrapBodyStream`),FT=(e,t,n,r,i)=>{let a={method:e,headers:n,signal:i.signal};if(e===`TRACE`){a.method=`GET`;let e=new MT(t,a);return Object.defineProperty(e,`method`,{get(){return`TRACE`}}),e}if(!(e===`GET`||e===`HEAD`))if(`rawBody`in r&&r.rawBody instanceof Buffer)a.body=new ReadableStream({start(e){e.enqueue(r.rawBody),e.close()}});else if(r[PT]){let e;a.body=new ReadableStream({async pull(t){try{e||=f.toWeb(r).getReader();let{done:n,value:i}=await e.read();n?t.close():t.enqueue(i)}catch(e){t.error(e)}}})}else a.body=f.toWeb(r);return new MT(t,a)},IT=Symbol(`getRequestCache`),LT=Symbol(`requestCache`),RT=Symbol(`incomingKey`),zT=Symbol(`urlKey`),BT=Symbol(`headersKey`),VT=Symbol(`abortControllerKey`),HT={get method(){return this[RT].method||`GET`},get url(){return this[zT]},get headers(){return this[BT]||=NT(this[RT])},[Symbol(`getAbortController`)](){return this[IT](),this[VT]},[IT](){return this[VT]||=new AbortController,this[LT]||=FT(this.method,this[zT],this.headers,this[RT],this[VT])}};[`body`,`bodyUsed`,`cache`,`credentials`,`destination`,`integrity`,`mode`,`redirect`,`referrer`,`referrerPolicy`,`signal`,`keepalive`].forEach(e=>{Object.defineProperty(HT,e,{get(){return this[IT]()[e]}})}),[`arrayBuffer`,`blob`,`clone`,`formData`,`json`,`text`].forEach(e=>{Object.defineProperty(HT,e,{value:function(){return this[IT]()[e]()}})}),Object.setPrototypeOf(HT,MT.prototype);var UT=(e,t)=>{let n=Object.create(HT);n[RT]=e;let r=e.url||``;if(r[0]!==`/`&&(r.startsWith(`http://`)||r.startsWith(`https://`))){if(e instanceof E)throw new kT(`Absolute URL for :path is not allowed in HTTP/2`);try{n[zT]=new URL(r).href}catch(e){throw new kT(`Invalid absolute URL`,{cause:e})}return n}let i=(e instanceof E?e.authority:e.headers.host)||t;if(!i)throw new kT(`Missing host header`);let a;if(e instanceof E){if(a=e.scheme,!(a===`http`||a===`https`))throw new kT(`Unsupported scheme`)}else a=e.socket&&e.socket.encrypted?`https`:`http`;let o=new URL(`${a}://${i}${r}`);if(o.hostname.length!==i.length&&o.hostname!==i.replace(/:\d+$/,``))throw new kT(`Invalid host header`);return n[zT]=o.href,n},WT=Symbol(`responseCache`),GT=Symbol(`getResponseCache`),KT=Symbol(`cache`),qT=global.Response,JT=class e{#e;#t;[GT](){return delete this[KT],this[WT]||=new qT(this.#e,this.#t)}constructor(t,n){let r;if(this.#e=t,n instanceof e){let e=n[WT];if(e){this.#t=e,this[GT]();return}else this.#t=n.#t,r=new Headers(n.#t.headers)}else this.#t=n;(typeof t==`string`||t?.getReader!==void 0||t instanceof Blob||t instanceof Uint8Array)&&(this[KT]=[n?.status||200,t,r||n?.headers])}get headers(){let e=this[KT];return e?(e[2]instanceof Headers||(e[2]=new Headers(e[2]||{"content-type":`text/plain; charset=UTF-8`})),e[2]):this[GT]().headers}get status(){return this[KT]?.[0]??this[GT]().status}get ok(){let e=this.status;return e>=200&&e<300}};[`body`,`bodyUsed`,`redirected`,`statusText`,`trailers`,`type`,`url`].forEach(e=>{Object.defineProperty(JT.prototype,e,{get(){return this[GT]()[e]}})}),[`arrayBuffer`,`blob`,`clone`,`formData`,`json`,`text`].forEach(e=>{Object.defineProperty(JT.prototype,e,{value:function(){return this[GT]()[e]()}})}),Object.setPrototypeOf(JT,qT),Object.setPrototypeOf(JT.prototype,qT.prototype);async function YT(e){return Promise.race([e,Promise.resolve().then(()=>Promise.resolve(void 0))])}function XT(e,t,n){let r=t=>{e.cancel(t).catch(()=>{})};return t.on(`close`,r),t.on(`error`,r),(n??e.read()).then(o,i),e.closed.finally(()=>{t.off(`close`,r),t.off(`error`,r)});function i(e){e&&t.destroy(e)}function a(){e.read().then(o,i)}function o({done:n,value:r}){try{if(n)t.end();else if(!t.write(r))t.once(`drain`,a);else return e.read().then(o,i)}catch(e){i(e)}}}function ZT(e,t){if(e.locked)throw TypeError(`ReadableStream is locked.`);return t.destroyed?void 0:XT(e.getReader(),t)}var QT=e=>{let t={};e instanceof Headers||(e=new Headers(e??void 0));let n=[];for(let[r,i]of e)r===`set-cookie`?n.push(i):t[r]=i;return n.length>0&&(t[`set-cookie`]=n),t[`content-type`]??=`text/plain; charset=UTF-8`,t},$T=`x-hono-already-sent`;global.crypto===void 0&&(global.crypto=m);var eE=Symbol(`outgoingEnded`),tE=()=>new Response(null,{status:400}),nE=e=>new Response(null,{status:e instanceof Error&&(e.name===`TimeoutError`||e.constructor.name===`TimeoutError`)?504:500}),rE=(e,t)=>{let n=e instanceof Error?e:Error(`unknown error`,{cause:e});n.code===`ERR_STREAM_PREMATURE_CLOSE`?console.info(`The user aborted a request.`):(console.error(e),t.headersSent||t.writeHead(500,{"Content-Type":`text/plain`}),t.end(`Error: ${n.message}`),t.destroy(n))},iE=e=>{`flushHeaders`in e&&e.writable&&e.flushHeaders()},aE=async(e,t)=>{let[n,r,i]=e[KT],a=!1;if(!i)i={"content-type":`text/plain; charset=UTF-8`};else if(i instanceof Headers)a=i.has(`content-length`),i=QT(i);else if(Array.isArray(i)){let e=new Headers(i);a=e.has(`content-length`),i=QT(e)}else for(let e in i)if(e.length===14&&e.toLowerCase()===`content-length`){a=!0;break}a||(typeof r==`string`?i[`Content-Length`]=Buffer.byteLength(r):r instanceof Uint8Array?i[`Content-Length`]=r.byteLength:r instanceof Blob&&(i[`Content-Length`]=r.size)),t.writeHead(n,i),typeof r==`string`||r instanceof Uint8Array?t.end(r):r instanceof Blob?t.end(new Uint8Array(await r.arrayBuffer())):(iE(t),await ZT(r,t)?.catch(e=>rE(e,t))),t[eE]?.()},oE=e=>typeof e.then==`function`,sE=async(e,t,n={})=>{if(oE(e))if(n.errorHandler)try{e=await e}catch(t){let r=await n.errorHandler(t);if(!r)return;e=r}else e=await e.catch(nE);if(KT in e)return aE(e,t);let r=QT(e.headers);if(e.body){let n=e.body.getReader(),i=[],a=!1,o;if(r[`transfer-encoding`]!==`chunked`){let e=2;for(let t=0;t<e;t++){o||=n.read();let r=await YT(o).catch(e=>{console.error(e),a=!0});if(!r){if(t===1){await new Promise(e=>setTimeout(e)),e=3;continue}break}if(o=void 0,r.value&&i.push(r.value),r.done){a=!0;break}}a&&!(`content-length`in r)&&(r[`content-length`]=i.reduce((e,t)=>e+t.length,0))}t.writeHead(e.status,r),i.forEach(e=>{t.write(e)}),a?t.end():(i.length===0&&iE(t),await XT(n,t,o))}else r[$T]||(t.writeHead(e.status,r),t.end());t[eE]?.()},cE=(e,t={})=>{let n=t.autoCleanupIncoming??!0;return t.overrideGlobalObjects!==!1&&global.Request!==MT&&(Object.defineProperty(global,`Request`,{value:MT}),Object.defineProperty(global,`Response`,{value:JT})),async(r,i)=>{let a,o;try{o=UT(r,t.hostname);let s=!n||r.method===`GET`||r.method===`HEAD`;if(s||(r[PT]=!0,r.on(`end`,()=>{s=!0}),r instanceof E&&(i[eE]=()=>{s||setTimeout(()=>{s||setTimeout(()=>{r.destroy(),i.destroy()})})})),i.on(`close`,()=>{o[VT]&&(r.errored?o[VT].abort(r.errored.toString()):i.writableFinished||o[VT].abort(`Client connection prematurely closed.`)),s||setTimeout(()=>{s||setTimeout(()=>{r.destroy()})})}),a=e(o,{incoming:r,outgoing:i}),KT in a)return aE(a,i)}catch(e){if(a)return rE(e,i);if(t.errorHandler){if(a=await t.errorHandler(o?e:AT(e)),!a)return}else a=o?nE(e):tE()}try{return await sE(a,i,t)}catch(e){return rE(e,i)}}},lE=e=>{let t=e.fetch,n=cE(t,{hostname:e.hostname,overrideGlobalObjects:e.overrideGlobalObjects,autoCleanupIncoming:e.autoCleanupIncoming});return(e.createServer||S)(e.serverOptions||{},n)},uE=(e,t)=>{let n=lE(e);return n.listen(e?.port??3e3,e.hostname,()=>{let e=n.address();t&&t(e)}),n},dE=new dt;dE.use(`/default-avatar.svg`,e_({root:`./`})),dE.use(`/gitproviders/*`,e_({root:`./`})),dE.use(`/logo.svg`,e_({root:`./`})),dE.use(`/assets/*`,e_({root:`./`})),dE.use(`/index.html`,e_({root:`./`})),dE.use(`/libquery_engine-debian-openssl-3.0.x.so.node`,e_({root:`./`})),dE.use(`/libquery_engine-rhel-openssl-3.0.x.so.node`,e_({root:`./`}));var fE=Object.assign({"/src/api/index.ts":DT}),pE=!1;for(let[,e]of Object.entries(fE))e&&(dE.all(`*`,t=>{let n;try{n=t.executionCtx}catch{}return e.fetch(t.req.raw,t.env,n)}),dE.notFound(t=>{let n;try{n=t.executionCtx}catch{}return e.fetch(t.req.raw,t.env,n)}),pE=!0);if(!pE)throw Error(`Can't import modules from ['/src/api/index.ts']`);uE({fetch:dE.fetch,port:8080});export{dE as default};
|
|
172
172
|
//# sourceMappingURL=index.js.map
|