markstream-vue2 0.0.20 → 0.0.22
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/README.md +1 -1
- package/dist/chunks/cssMode-2e2be6eb.cjs +1 -0
- package/dist/chunks/cssMode-32774a06.js +2044 -0
- package/dist/chunks/htmlMode-076e483c.js +2060 -0
- package/dist/chunks/htmlMode-b62439a8.cjs +1 -0
- package/dist/{index6.js → chunks/index-292bb72c.js} +1 -1
- package/dist/chunks/index-2a7bea2c.js +7 -0
- package/dist/chunks/index-42252d16.js +7 -0
- package/dist/chunks/index-8693b3db.cjs +1 -0
- package/dist/chunks/index-87cdc60f.js +7 -0
- package/dist/chunks/index-91325ae4.cjs +1 -0
- package/dist/chunks/index-b8d5777d.cjs +1 -0
- package/dist/chunks/index-c6f74f2d.cjs +1 -0
- package/dist/chunks/index-e0a22210.js +7 -0
- package/dist/chunks/index-e1315bc2.cjs +1 -0
- package/dist/chunks/index.legacy-1c6de434.js +125497 -0
- package/dist/chunks/index.legacy-bcde4164.cjs +1 -0
- package/dist/chunks/jsonMode-186d141c.js +2759 -0
- package/dist/chunks/jsonMode-bb4aa400.cjs +1 -0
- package/dist/chunks/languageIconExtended-feb078ee.js +65 -0
- package/dist/chunks/mhchem-5e563c97.js +13397 -0
- package/dist/chunks/performance-monitor-d79527de.js +128 -0
- package/dist/chunks/tsMode-1535ecd2.cjs +1 -0
- package/dist/chunks/tsMode-6444eb2b.js +1315 -0
- package/dist/index.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/index.js +11706 -1
- package/dist/index.px.css +1 -1
- package/dist/index.tailwind.css +1 -1
- package/dist/tailwind.ts +1 -1
- package/package.json +5 -4
- package/dist/index.legacy.js +0 -1
- package/dist/index2.js +0 -1
- package/dist/index3.js +0 -1
- package/dist/index4.js +0 -1
- package/dist/index5.js +0 -1
- /package/dist/{languageIconExtended.js → chunks/languageIconExtended-4baf8bdb.cjs} +0 -0
- /package/dist/{mhchem.js → chunks/mhchem-4785e7bc.cjs} +0 -0
- /package/dist/{performance-monitor.js → chunks/performance-monitor-698d0e66.cjs} +0 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
class PerformanceMonitor {
|
|
8
|
+
constructor() {
|
|
9
|
+
__publicField(this, "metrics", []);
|
|
10
|
+
__publicField(this, "enabled", false);
|
|
11
|
+
__publicField(this, "maxMetrics", 1e3);
|
|
12
|
+
}
|
|
13
|
+
// Prevent memory leak
|
|
14
|
+
enable() {
|
|
15
|
+
this.enabled = true;
|
|
16
|
+
}
|
|
17
|
+
disable() {
|
|
18
|
+
this.enabled = false;
|
|
19
|
+
}
|
|
20
|
+
recordRender(metrics) {
|
|
21
|
+
if (!this.enabled)
|
|
22
|
+
return;
|
|
23
|
+
this.metrics.push(metrics);
|
|
24
|
+
if (this.metrics.length > this.maxMetrics) {
|
|
25
|
+
this.metrics.shift();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
getStats() {
|
|
29
|
+
if (this.metrics.length === 0) {
|
|
30
|
+
return {
|
|
31
|
+
totalRenders: 0,
|
|
32
|
+
cacheHitRate: 0,
|
|
33
|
+
averageWorkerTime: 0,
|
|
34
|
+
averageDirectTime: 0,
|
|
35
|
+
averageCacheHitTime: 0,
|
|
36
|
+
workerSavings: 0,
|
|
37
|
+
recommendation: "Insufficient data"
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const workerMetrics = this.metrics.filter((m) => m.type === "worker" && m.success);
|
|
41
|
+
const directMetrics = this.metrics.filter((m) => m.type === "direct" && m.success);
|
|
42
|
+
const cacheHitMetrics = this.metrics.filter((m) => m.type === "cache-hit");
|
|
43
|
+
const totalRenders = this.metrics.length;
|
|
44
|
+
const cacheHits = cacheHitMetrics.length;
|
|
45
|
+
const cacheHitRate = cacheHits / totalRenders * 100;
|
|
46
|
+
const avgWorkerTime = workerMetrics.length > 0 ? workerMetrics.reduce((sum, m) => sum + m.duration, 0) / workerMetrics.length : 0;
|
|
47
|
+
const avgDirectTime = directMetrics.length > 0 ? directMetrics.reduce((sum, m) => sum + m.duration, 0) / directMetrics.length : 0;
|
|
48
|
+
const avgCacheHitTime = cacheHitMetrics.length > 0 ? cacheHitMetrics.reduce((sum, m) => sum + m.duration, 0) / cacheHitMetrics.length : 0;
|
|
49
|
+
const estimatedDirectTime = totalRenders * avgDirectTime;
|
|
50
|
+
const actualTime = workerMetrics.reduce((sum, m) => sum + m.duration, 0) + directMetrics.reduce((sum, m) => sum + m.duration, 0) + cacheHitMetrics.reduce((sum, m) => sum + m.duration, 0);
|
|
51
|
+
const workerSavings = estimatedDirectTime - actualTime;
|
|
52
|
+
let recommendation = "";
|
|
53
|
+
if (cacheHitRate > 70 && avgWorkerTime < avgDirectTime * 2) {
|
|
54
|
+
recommendation = "✅ Worker + Cache is highly beneficial";
|
|
55
|
+
} else if (cacheHitRate > 50) {
|
|
56
|
+
recommendation = "✅ Worker + Cache is beneficial";
|
|
57
|
+
} else if (avgWorkerTime > avgDirectTime * 3) {
|
|
58
|
+
recommendation = "⚠️ Worker overhead too high, consider direct rendering";
|
|
59
|
+
} else if (avgDirectTime < 5) {
|
|
60
|
+
recommendation = "⚠️ Formulas too simple, Worker overhead may not be worth it";
|
|
61
|
+
} else {
|
|
62
|
+
recommendation = "✅ Worker prevents main thread blocking";
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
totalRenders,
|
|
66
|
+
cacheHits,
|
|
67
|
+
cacheHitRate: cacheHitRate.toFixed(1),
|
|
68
|
+
workerCalls: workerMetrics.length,
|
|
69
|
+
directCalls: directMetrics.length,
|
|
70
|
+
averageWorkerTime: avgWorkerTime.toFixed(2),
|
|
71
|
+
averageDirectTime: avgDirectTime.toFixed(2),
|
|
72
|
+
averageCacheHitTime: avgCacheHitTime.toFixed(3),
|
|
73
|
+
workerSavings: workerSavings.toFixed(2),
|
|
74
|
+
recommendation
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
printReport() {
|
|
78
|
+
const stats = this.getStats();
|
|
79
|
+
console.group("📊 KaTeX Rendering Performance Report");
|
|
80
|
+
console.log(`Total renders: ${stats.totalRenders}`);
|
|
81
|
+
console.log(`Cache hits: ${stats.cacheHits} (${stats.cacheHitRate}%)`);
|
|
82
|
+
console.log(`Worker calls: ${stats.workerCalls}`);
|
|
83
|
+
console.log(`Direct calls: ${stats.directCalls}`);
|
|
84
|
+
console.log("");
|
|
85
|
+
console.log("Timing:");
|
|
86
|
+
console.log(` Worker average: ${stats.averageWorkerTime}ms`);
|
|
87
|
+
console.log(` Direct average: ${stats.averageDirectTime}ms`);
|
|
88
|
+
console.log(` Cache hit average: ${stats.averageCacheHitTime}ms`);
|
|
89
|
+
console.log("");
|
|
90
|
+
console.log(`Time saved: ${stats.workerSavings}ms`);
|
|
91
|
+
console.log(`Recommendation: ${stats.recommendation}`);
|
|
92
|
+
console.groupEnd();
|
|
93
|
+
return stats;
|
|
94
|
+
}
|
|
95
|
+
reset() {
|
|
96
|
+
this.metrics = [];
|
|
97
|
+
}
|
|
98
|
+
// Export metrics for analysis
|
|
99
|
+
exportMetrics() {
|
|
100
|
+
return {
|
|
101
|
+
metrics: [...this.metrics],
|
|
102
|
+
stats: this.getStats(),
|
|
103
|
+
timestamp: Date.now()
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const perfMonitor = new PerformanceMonitor();
|
|
108
|
+
function enablePerfMonitoring() {
|
|
109
|
+
perfMonitor.enable();
|
|
110
|
+
console.log("📊 KaTeX performance monitoring enabled");
|
|
111
|
+
}
|
|
112
|
+
function disablePerfMonitoring() {
|
|
113
|
+
perfMonitor.disable();
|
|
114
|
+
console.log("📊 KaTeX performance monitoring disabled");
|
|
115
|
+
}
|
|
116
|
+
function getPerfReport() {
|
|
117
|
+
return perfMonitor.printReport();
|
|
118
|
+
}
|
|
119
|
+
if (typeof window !== "undefined") {
|
|
120
|
+
window.__katexPerfReport = getPerfReport;
|
|
121
|
+
window.__katexPerfMonitor = perfMonitor;
|
|
122
|
+
}
|
|
123
|
+
export {
|
|
124
|
+
disablePerfMonitoring,
|
|
125
|
+
enablePerfMonitoring,
|
|
126
|
+
getPerfReport,
|
|
127
|
+
perfMonitor
|
|
128
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e,t=Object.defineProperty,i=Object.defineProperties,s=Object.getOwnPropertyDescriptors,r=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable,a=(e,i,s)=>i in e?t(e,i,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[i]=s,l=(e,t,i)=>new Promise((s,r)=>{var n=e=>{try{a(i.next(e))}catch(t){r(t)}},o=e=>{try{a(i.throw(e))}catch(t){r(t)}},a=e=>e.done?s(e.value):Promise.resolve(e.value).then(n,o);a((i=i.apply(e,t)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./index.legacy-bcde4164.cjs");require("shiki");var c=Object.defineProperty,u=Object.getOwnPropertyDescriptor,g=Object.getOwnPropertyNames,p=Object.prototype.hasOwnProperty,m=(e,t,i,s)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of g(t))p.call(e,r)||r===i||c(e,r,{get:()=>t[r],enumerable:!(s=u(t,r))||s.enumerable});return e},h={};m(h,d.monaco_editor_core_star,"default");var b=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(),this._worker=null),this._client=null}_updateExtraLibs(){return l(this,null,function*(){if(!this._worker)return;const e=++this._updateExtraLibsToken,t=yield this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())})}_getClient(){return this._client||(this._client=(()=>l(this,null,function*(){return this._worker=h.editor.createWebWorker({moduleId:"vs/language/typescript/tsWorker",label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?yield this._worker.withSyncedResources(h.editor.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):yield this._worker.getProxy()}))()),this._client}getLanguageServiceWorker(...e){return l(this,null,function*(){const t=yield this._getClient();return this._worker&&(yield this._worker.withSyncedResources(e)),t})}},f={};function y(e,t,i=0){if("string"==typeof e)return e;if(void 0===e)return"";let s="";if(i){s+=t;for(let e=0;e<i;e++)s+=" "}if(s+=e.messageText,i++,e.next)for(const r of e.next)s+=y(r,t,i);return s}function _(e){return e?e.map(e=>e.text).join(""):""}f["lib.d.ts"]=!0,f["lib.decorators.d.ts"]=!0,f["lib.decorators.legacy.d.ts"]=!0,f["lib.dom.asynciterable.d.ts"]=!0,f["lib.dom.d.ts"]=!0,f["lib.dom.iterable.d.ts"]=!0,f["lib.es2015.collection.d.ts"]=!0,f["lib.es2015.core.d.ts"]=!0,f["lib.es2015.d.ts"]=!0,f["lib.es2015.generator.d.ts"]=!0,f["lib.es2015.iterable.d.ts"]=!0,f["lib.es2015.promise.d.ts"]=!0,f["lib.es2015.proxy.d.ts"]=!0,f["lib.es2015.reflect.d.ts"]=!0,f["lib.es2015.symbol.d.ts"]=!0,f["lib.es2015.symbol.wellknown.d.ts"]=!0,f["lib.es2016.array.include.d.ts"]=!0,f["lib.es2016.d.ts"]=!0,f["lib.es2016.full.d.ts"]=!0,f["lib.es2016.intl.d.ts"]=!0,f["lib.es2017.d.ts"]=!0,f["lib.es2017.date.d.ts"]=!0,f["lib.es2017.full.d.ts"]=!0,f["lib.es2017.intl.d.ts"]=!0,f["lib.es2017.object.d.ts"]=!0,f["lib.es2017.sharedmemory.d.ts"]=!0,f["lib.es2017.string.d.ts"]=!0,f["lib.es2017.typedarrays.d.ts"]=!0,f["lib.es2018.asyncgenerator.d.ts"]=!0,f["lib.es2018.asynciterable.d.ts"]=!0,f["lib.es2018.d.ts"]=!0,f["lib.es2018.full.d.ts"]=!0,f["lib.es2018.intl.d.ts"]=!0,f["lib.es2018.promise.d.ts"]=!0,f["lib.es2018.regexp.d.ts"]=!0,f["lib.es2019.array.d.ts"]=!0,f["lib.es2019.d.ts"]=!0,f["lib.es2019.full.d.ts"]=!0,f["lib.es2019.intl.d.ts"]=!0,f["lib.es2019.object.d.ts"]=!0,f["lib.es2019.string.d.ts"]=!0,f["lib.es2019.symbol.d.ts"]=!0,f["lib.es2020.bigint.d.ts"]=!0,f["lib.es2020.d.ts"]=!0,f["lib.es2020.date.d.ts"]=!0,f["lib.es2020.full.d.ts"]=!0,f["lib.es2020.intl.d.ts"]=!0,f["lib.es2020.number.d.ts"]=!0,f["lib.es2020.promise.d.ts"]=!0,f["lib.es2020.sharedmemory.d.ts"]=!0,f["lib.es2020.string.d.ts"]=!0,f["lib.es2020.symbol.wellknown.d.ts"]=!0,f["lib.es2021.d.ts"]=!0,f["lib.es2021.full.d.ts"]=!0,f["lib.es2021.intl.d.ts"]=!0,f["lib.es2021.promise.d.ts"]=!0,f["lib.es2021.string.d.ts"]=!0,f["lib.es2021.weakref.d.ts"]=!0,f["lib.es2022.array.d.ts"]=!0,f["lib.es2022.d.ts"]=!0,f["lib.es2022.error.d.ts"]=!0,f["lib.es2022.full.d.ts"]=!0,f["lib.es2022.intl.d.ts"]=!0,f["lib.es2022.object.d.ts"]=!0,f["lib.es2022.regexp.d.ts"]=!0,f["lib.es2022.sharedmemory.d.ts"]=!0,f["lib.es2022.string.d.ts"]=!0,f["lib.es2023.array.d.ts"]=!0,f["lib.es2023.collection.d.ts"]=!0,f["lib.es2023.d.ts"]=!0,f["lib.es2023.full.d.ts"]=!0,f["lib.es5.d.ts"]=!0,f["lib.es6.d.ts"]=!0,f["lib.esnext.collection.d.ts"]=!0,f["lib.esnext.d.ts"]=!0,f["lib.esnext.decorators.d.ts"]=!0,f["lib.esnext.disposable.d.ts"]=!0,f["lib.esnext.full.d.ts"]=!0,f["lib.esnext.intl.d.ts"]=!0,f["lib.esnext.object.d.ts"]=!0,f["lib.esnext.promise.d.ts"]=!0,f["lib.scripthost.d.ts"]=!0,f["lib.webworker.asynciterable.d.ts"]=!0,f["lib.webworker.d.ts"]=!0,f["lib.webworker.importscripts.d.ts"]=!0,f["lib.webworker.iterable.d.ts"]=!0;var x=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let i=e.getPositionAt(t.start),s=e.getPositionAt(t.start+t.length),{lineNumber:r,column:n}=i,{lineNumber:o,column:a}=s;return{startLineNumber:r,startColumn:n,endLineNumber:o,endColumn:a}}},S=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return!!e&&0===e.path.indexOf("/lib.")&&!!f[e.path.slice(1)]}getOrCreateModel(e){const t=h.Uri.parse(e),i=h.editor.getModel(t);if(i)return i;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return h.editor.createModel(this._libFiles[t.path.slice(1)],"typescript",t);const s=d.typescriptDefaults.getExtraLibs()[e];return s?h.editor.createModel(s.content,"typescript",t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}fetchLibFilesIfNecessary(e){return l(this,null,function*(){this._containsLibFile(e)&&(yield this._fetchLibFiles())})}_fetchLibFiles(){return this._fetchLibFilesPromise||(this._fetchLibFilesPromise=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e})),this._fetchLibFilesPromise}},v=class extends x{constructor(e,t,i,s){super(s),this._libFiles=e,this._defaults=t,this._selector=i,this._disposables=[],this._listener=Object.create(null);const r=e=>{if(e.getLanguageId()!==i)return;const t=()=>{const{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)};let s;const r=e.onDidChangeContent(()=>{clearTimeout(s),s=window.setTimeout(t,500)}),n=e.onDidChangeAttached(()=>{const{onlyVisible:i}=this._defaults.getDiagnosticsOptions();i&&(e.isAttachedToEditor()?t():h.editor.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){r.dispose(),n.dispose(),clearTimeout(s)}},t()},n=e=>{h.editor.setModelMarkers(e,this._selector,[]);const t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(h.editor.onDidCreateModel(e=>r(e))),this._disposables.push(h.editor.onWillDisposeModel(n)),this._disposables.push(h.editor.onDidChangeModelLanguage(e=>{n(e.model),r(e.model)})),this._disposables.push({dispose(){for(const e of h.editor.getModels())n(e)}});const o=()=>{for(const e of h.editor.getModels())n(e),r(e)};this._disposables.push(this._defaults.onDidChange(o)),this._disposables.push(this._defaults.onDidExtraLibsChange(o)),h.editor.getModels().forEach(e=>r(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}_doValidate(e){return l(this,null,function*(){const t=yield this._worker(e.uri);if(e.isDisposed())return;const i=[],{noSyntaxValidation:s,noSemanticValidation:r,noSuggestionDiagnostics:n}=this._defaults.getDiagnosticsOptions();s||i.push(t.getSyntacticDiagnostics(e.uri.toString())),r||i.push(t.getSemanticDiagnostics(e.uri.toString())),n||i.push(t.getSuggestionDiagnostics(e.uri.toString()));const o=yield Promise.all(i);if(!o||e.isDisposed())return;const a=o.reduce((e,t)=>t.concat(e),[]).filter(e=>-1===(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)),l=a.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?h.Uri.parse(e.file.fileName):null);yield this._libFiles.fetchLibFilesIfNecessary(l),e.isDisposed()||h.editor.setModelMarkers(e,this._selector,a.map(t=>this._convertDiagnostics(e,t)))})}_convertDiagnostics(e,t){const i=t.start||0,s=t.length||1,{lineNumber:r,column:n}=e.getPositionAt(i),{lineNumber:o,column:a}=e.getPositionAt(i+s),l=[];return t.reportsUnnecessary&&l.push(h.MarkerTag.Unnecessary),t.reportsDeprecated&&l.push(h.MarkerTag.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:r,startColumn:n,endLineNumber:o,endColumn:a,message:y(t.messageText,"\n"),code:t.code.toString(),tags:l,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];const i=[];return t.forEach(t=>{let s=e;if(t.file&&(s=this._libFiles.getOrCreateModel(t.file.fileName)),!s)return;const r=t.start||0,n=t.length||1,{lineNumber:o,column:a}=s.getPositionAt(r),{lineNumber:l,column:d}=s.getPositionAt(r+n);i.push({resource:s.uri,startLineNumber:o,startColumn:a,endLineNumber:l,endColumn:d,message:y(t.messageText,"\n")})}),i}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return h.MarkerSeverity.Error;case 3:return h.MarkerSeverity.Info;case 0:return h.MarkerSeverity.Warning;case 2:return h.MarkerSeverity.Hint}return h.MarkerSeverity.Info}},k=class e extends x{get triggerCharacters(){return["."]}provideCompletionItems(t,i,s,r){return l(this,null,function*(){const s=t.getWordUntilPosition(i),r=new h.Range(i.lineNumber,s.startColumn,i.lineNumber,s.endColumn),n=t.uri,o=t.getOffsetAt(i),a=yield this._worker(n);if(t.isDisposed())return;const l=yield a.getCompletionsAtPosition(n.toString(),o);return l&&!t.isDisposed()?{suggestions:l.entries.map(s=>{let a=r;if(s.replacementSpan){const e=t.getPositionAt(s.replacementSpan.start),i=t.getPositionAt(s.replacementSpan.start+s.replacementSpan.length);a=new h.Range(e.lineNumber,e.column,i.lineNumber,i.column)}const l=[];return void 0!==s.kindModifiers&&-1!==s.kindModifiers.indexOf("deprecated")&&l.push(h.languages.CompletionItemTag.Deprecated),{uri:n,position:i,offset:o,range:a,label:s.name,insertText:s.name,sortText:s.sortText,kind:e.convertKind(s.kind),tags:l}})}:void 0})}resolveCompletionItem(t,i){return l(this,null,function*(){const i=t,s=i.uri,r=i.position,n=i.offset,o=yield this._worker(s),a=yield o.getCompletionEntryDetails(s.toString(),n,i.label);return a?{uri:s,position:r,label:a.name,kind:e.convertKind(a.kind),detail:_(a.displayParts),documentation:{value:e.createDocumentationString(a)}}:i})}static convertKind(e){switch(e){case P.primitiveType:case P.keyword:return h.languages.CompletionItemKind.Keyword;case P.variable:case P.localVariable:return h.languages.CompletionItemKind.Variable;case P.memberVariable:case P.memberGetAccessor:case P.memberSetAccessor:return h.languages.CompletionItemKind.Field;case P.function:case P.memberFunction:case P.constructSignature:case P.callSignature:case P.indexSignature:return h.languages.CompletionItemKind.Function;case P.enum:return h.languages.CompletionItemKind.Enum;case P.module:return h.languages.CompletionItemKind.Module;case P.class:return h.languages.CompletionItemKind.Class;case P.interface:return h.languages.CompletionItemKind.Interface;case P.warning:return h.languages.CompletionItemKind.File}return h.languages.CompletionItemKind.Property}static createDocumentationString(e){let t=_(e.documentation);if(e.tags)for(const i of e.tags)t+=`\n\n${w(i)}`;return t}};function w(e){let t=`*@${e.name}*`;if("param"===e.name&&e.text){const[i,...s]=e.text;t+=`\`${i.text}\``,s.length>0&&(t+=` — ${s.map(e=>e.text).join(" ")}`)}else Array.isArray(e.text)?t+=` — ${e.text.map(e=>e.text).join(" ")}`:e.text&&(t+=` — ${e.text}`);return t}var C=class e extends x{constructor(){super(...arguments),this.signatureHelpTriggerCharacters=["(",","]}static _toSignatureHelpTriggerReason(e){switch(e.triggerKind){case h.languages.SignatureHelpTriggerKind.TriggerCharacter:return e.triggerCharacter?e.isRetrigger?{kind:"retrigger",triggerCharacter:e.triggerCharacter}:{kind:"characterTyped",triggerCharacter:e.triggerCharacter}:{kind:"invoked"};case h.languages.SignatureHelpTriggerKind.ContentChange:return e.isRetrigger?{kind:"retrigger"}:{kind:"invoked"};case h.languages.SignatureHelpTriggerKind.Invoke:default:return{kind:"invoked"}}}provideSignatureHelp(t,i,s,r){return l(this,null,function*(){const s=t.uri,n=t.getOffsetAt(i),o=yield this._worker(s);if(t.isDisposed())return;const a=yield o.getSignatureHelpItems(s.toString(),n,{triggerReason:e._toSignatureHelpTriggerReason(r)});if(!a||t.isDisposed())return;const l={activeSignature:a.selectedItemIndex,activeParameter:a.argumentIndex,signatures:[]};return a.items.forEach(e=>{const t={label:"",parameters:[]};t.documentation={value:_(e.documentation)},t.label+=_(e.prefixDisplayParts),e.parameters.forEach((i,s,r)=>{const n=_(i.displayParts),o={label:n,documentation:{value:_(i.documentation)}};t.label+=n,t.parameters.push(o),s<r.length-1&&(t.label+=_(e.separatorDisplayParts))}),t.label+=_(e.suffixDisplayParts),l.signatures.push(t)}),{value:l,dispose(){}}})}},D=class extends x{provideHover(e,t,i){return l(this,null,function*(){const i=e.uri,s=e.getOffsetAt(t),r=yield this._worker(i);if(e.isDisposed())return;const n=yield r.getQuickInfoAtPosition(i.toString(),s);if(!n||e.isDisposed())return;const o=_(n.documentation),a=n.tags?n.tags.map(e=>w(e)).join(" \n\n"):"",l=_(n.displayParts);return{range:this._textSpanToRange(e,n.textSpan),contents:[{value:"```typescript\n"+l+"\n```\n"},{value:o+(a?"\n\n"+a:"")}]}})}},A=class extends x{provideDocumentHighlights(e,t,i){return l(this,null,function*(){const i=e.uri,s=e.getOffsetAt(t),r=yield this._worker(i);if(e.isDisposed())return;const n=yield r.getDocumentHighlights(i.toString(),s,[i.toString()]);return n&&!e.isDisposed()?n.flatMap(t=>t.highlightSpans.map(t=>({range:this._textSpanToRange(e,t.textSpan),kind:"writtenReference"===t.kind?h.languages.DocumentHighlightKind.Write:h.languages.DocumentHighlightKind.Text}))):void 0})}},F=class extends x{constructor(e,t){super(t),this._libFiles=e}provideDefinition(e,t,i){return l(this,null,function*(){const i=e.uri,s=e.getOffsetAt(t),r=yield this._worker(i);if(e.isDisposed())return;const n=yield r.getDefinitionAtPosition(i.toString(),s);if(!n||e.isDisposed())return;if(yield this._libFiles.fetchLibFilesIfNecessary(n.map(e=>h.Uri.parse(e.fileName))),e.isDisposed())return;const o=[];for(let e of n){const t=this._libFiles.getOrCreateModel(e.fileName);t&&o.push({uri:t.uri,range:this._textSpanToRange(t,e.textSpan)})}return o})}},I=class extends x{constructor(e,t){super(t),this._libFiles=e}provideReferences(e,t,i,s){return l(this,null,function*(){const i=e.uri,s=e.getOffsetAt(t),r=yield this._worker(i);if(e.isDisposed())return;const n=yield r.getReferencesAtPosition(i.toString(),s);if(!n||e.isDisposed())return;if(yield this._libFiles.fetchLibFilesIfNecessary(n.map(e=>h.Uri.parse(e.fileName))),e.isDisposed())return;const o=[];for(let e of n){const t=this._libFiles.getOrCreateModel(e.fileName);t&&o.push({uri:t.uri,range:this._textSpanToRange(t,e.textSpan)})}return o})}},O=class extends x{provideDocumentSymbols(e,t){return l(this,null,function*(){const t=e.uri,i=yield this._worker(t);if(e.isDisposed())return;const s=yield i.getNavigationTree(t.toString());if(!s||e.isDisposed())return;const r=(t,i)=>{var s;return{name:t.text,detail:"",kind:T[t.kind]||h.languages.SymbolKind.Variable,range:this._textSpanToRange(e,t.spans[0]),selectionRange:this._textSpanToRange(e,t.spans[0]),tags:[],children:null==(s=t.childItems)?void 0:s.map(e=>r(e,t.text)),containerName:i}};return s.childItems?s.childItems.map(e=>r(e)):[]})}},P=((e=class{}).unknown="",e.keyword="keyword",e.script="script",e.module="module",e.class="class",e.interface="interface",e.type="type",e.enum="enum",e.variable="var",e.localVariable="local var",e.function="function",e.localFunction="local function",e.memberFunction="method",e.memberGetAccessor="getter",e.memberSetAccessor="setter",e.memberVariable="property",e.constructorImplementation="constructor",e.callSignature="call",e.indexSignature="index",e.constructSignature="construct",e.parameter="parameter",e.typeParameter="type parameter",e.primitiveType="primitive type",e.label="label",e.alias="alias",e.const="const",e.let="let",e.warning="warning",e),T=Object.create(null);T[P.module]=h.languages.SymbolKind.Module,T[P.class]=h.languages.SymbolKind.Class,T[P.enum]=h.languages.SymbolKind.Enum,T[P.interface]=h.languages.SymbolKind.Interface,T[P.memberFunction]=h.languages.SymbolKind.Method,T[P.memberVariable]=h.languages.SymbolKind.Property,T[P.memberGetAccessor]=h.languages.SymbolKind.Property,T[P.memberSetAccessor]=h.languages.SymbolKind.Property,T[P.variable]=h.languages.SymbolKind.Variable,T[P.const]=h.languages.SymbolKind.Variable,T[P.localVariable]=h.languages.SymbolKind.Variable,T[P.variable]=h.languages.SymbolKind.Variable,T[P.function]=h.languages.SymbolKind.Function,T[P.localFunction]=h.languages.SymbolKind.Function;var L,N,M=class extends x{static _convertOptions(e){return{ConvertTabsToSpaces:e.insertSpaces,TabSize:e.tabSize,IndentSize:e.tabSize,IndentStyle:2,NewLineCharacter:"\n",InsertSpaceAfterCommaDelimiter:!0,InsertSpaceAfterSemicolonInForStatements:!0,InsertSpaceBeforeAndAfterBinaryOperators:!0,InsertSpaceAfterKeywordsInControlFlowStatements:!0,InsertSpaceAfterFunctionKeywordForAnonymousFunctions:!0,InsertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis:!1,InsertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets:!1,InsertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces:!1,PlaceOpenBraceOnNewLineForControlBlocks:!1,PlaceOpenBraceOnNewLineForFunctions:!1}}_convertTextChanges(e,t){return{text:t.newText,range:this._textSpanToRange(e,t.span)}}},K=class extends M{constructor(){super(...arguments),this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(e,t,i,s){return l(this,null,function*(){const s=e.uri,r=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),n=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),o=yield this._worker(s);if(e.isDisposed())return;const a=yield o.getFormattingEditsForRange(s.toString(),r,n,M._convertOptions(i));return a&&!e.isDisposed()?a.map(t=>this._convertTextChanges(e,t)):void 0})}},R=class extends M{get autoFormatTriggerCharacters(){return[";","}","\n"]}provideOnTypeFormattingEdits(e,t,i,s,r){return l(this,null,function*(){const r=e.uri,n=e.getOffsetAt(t),o=yield this._worker(r);if(e.isDisposed())return;const a=yield o.getFormattingEditsAfterKeystroke(r.toString(),n,i,M._convertOptions(s));return a&&!e.isDisposed()?a.map(t=>this._convertTextChanges(e,t)):void 0})}},E=class extends M{provideCodeActions(e,t,i,s){return l(this,null,function*(){const s=e.uri,r=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),n=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),o=M._convertOptions(e.getOptions()),a=i.markers.filter(e=>e.code).map(e=>e.code).map(Number),l=yield this._worker(s);if(e.isDisposed())return;const d=yield l.getCodeFixesAtPosition(s.toString(),r,n,a,o);return!d||e.isDisposed()?{actions:[],dispose:()=>{}}:{actions:d.filter(e=>0===e.changes.filter(e=>e.isNewFile).length).map(t=>this._tsCodeFixActionToMonacoCodeAction(e,i,t)),dispose:()=>{}}})}_tsCodeFixActionToMonacoCodeAction(e,t,i){const s=[];for(const r of i.changes)for(const t of r.textChanges)s.push({resource:e.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(e,t.span),text:t.newText}});return{title:i.description,edit:{edits:s},diagnostics:t.markers,kind:"quickfix"}}},H=class extends x{constructor(e,t){super(t),this._libFiles=e}provideRenameEdits(e,t,i,s){return l(this,null,function*(){const s=e.uri,r=s.toString(),n=e.getOffsetAt(t),o=yield this._worker(s);if(e.isDisposed())return;const a=yield o.getRenameInfo(r,n,{allowRenameOfImportPath:!1});if(!1===a.canRename)return{edits:[],rejectReason:a.localizedErrorMessage};if(void 0!==a.fileToRename)throw new Error("Renaming files is not supported.");const l=yield o.findRenameLocations(r,n,!1,!1,!1);if(!l||e.isDisposed())return;const d=[];for(const e of l){const t=this._libFiles.getOrCreateModel(e.fileName);if(!t)throw new Error(`Unknown file ${e.fileName}.`);d.push({resource:t.uri,versionId:void 0,textEdit:{range:this._textSpanToRange(t,e.textSpan),text:i}})}return{edits:d}})}},j=class extends x{provideInlayHints(e,t,d){return l(this,null,function*(){const l=e.uri,d=l.toString(),c=e.getOffsetAt({lineNumber:t.startLineNumber,column:t.startColumn}),u=e.getOffsetAt({lineNumber:t.endLineNumber,column:t.endColumn}),g=yield this._worker(l);return e.isDisposed()?null:{hints:(yield g.provideInlayHints(d,c,u)).map(t=>{return l=((e,t)=>{for(var i in t||(t={}))n.call(t,i)&&a(e,i,t[i]);if(r)for(var i of r(t))o.call(t,i)&&a(e,i,t[i]);return e})({},t),d={label:t.text,position:e.getPositionAt(t.position),kind:this._convertHintKind(t.kind)},i(l,s(d));var l,d}),dispose:()=>{}}})}_convertHintKind(e){return"Parameter"===e?h.languages.InlayHintKind.Parameter:h.languages.InlayHintKind.Type}};function V(e,t){const i=[],s=new b(t,e),r=(...e)=>s.getLanguageServiceWorker(...e),n=new S(r);return function(){const{modeConfiguration:s}=e;!function(e){for(;e.length;)e.pop().dispose()}(i),s.completionItems&&i.push(h.languages.registerCompletionItemProvider(t,new k(r))),s.signatureHelp&&i.push(h.languages.registerSignatureHelpProvider(t,new C(r))),s.hovers&&i.push(h.languages.registerHoverProvider(t,new D(r))),s.documentHighlights&&i.push(h.languages.registerDocumentHighlightProvider(t,new A(r))),s.definitions&&i.push(h.languages.registerDefinitionProvider(t,new F(n,r))),s.references&&i.push(h.languages.registerReferenceProvider(t,new I(n,r))),s.documentSymbols&&i.push(h.languages.registerDocumentSymbolProvider(t,new O(r))),s.rename&&i.push(h.languages.registerRenameProvider(t,new H(n,r))),s.documentRangeFormattingEdits&&i.push(h.languages.registerDocumentRangeFormattingEditProvider(t,new K(r))),s.onTypeFormattingEdits&&i.push(h.languages.registerOnTypeFormattingEditProvider(t,new R(r))),s.codeActions&&i.push(h.languages.registerCodeActionProvider(t,new E(r))),s.inlayHints&&i.push(h.languages.registerInlayHintsProvider(t,new j(r))),s.diagnostics&&i.push(new v(n,e,t,r))}(),r}exports.Adapter=x,exports.CodeActionAdaptor=E,exports.DefinitionAdapter=F,exports.DiagnosticsAdapter=v,exports.DocumentHighlightAdapter=A,exports.FormatAdapter=K,exports.FormatHelper=M,exports.FormatOnTypeAdapter=R,exports.InlayHintsAdapter=j,exports.Kind=P,exports.LibFiles=S,exports.OutlineAdapter=O,exports.QuickInfoAdapter=D,exports.ReferenceAdapter=I,exports.RenameAdapter=H,exports.SignatureHelpAdapter=C,exports.SuggestAdapter=k,exports.WorkerManager=b,exports.flattenDiagnosticMessageText=y,exports.getJavaScriptWorker=function(){return new Promise((e,t)=>{if(!L)return t("JavaScript not registered!");e(L)})},exports.getTypeScriptWorker=function(){return new Promise((e,t)=>{if(!N)return t("TypeScript not registered!");e(N)})},exports.setupJavaScript=function(e){L=V(e,"javascript")},exports.setupTypeScript=function(e){N=V(e,"typescript")};
|