stream-monaco 0.0.9 → 0.0.10
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/index.cjs +29 -21
- package/dist/index.js +29 -21
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1998,6 +1998,12 @@ let languagesRegistered = false;
|
|
|
1998
1998
|
let currentThemes = [];
|
|
1999
1999
|
let currentLanguages = [];
|
|
2000
2000
|
let themeRegisterPromise = null;
|
|
2001
|
+
let registrationQueue = Promise.resolve();
|
|
2002
|
+
function enqueueRegistration(task) {
|
|
2003
|
+
const next = registrationQueue.then(task, task);
|
|
2004
|
+
registrationQueue = next.then(() => void 0, () => void 0);
|
|
2005
|
+
return next;
|
|
2006
|
+
}
|
|
2001
2007
|
function setThemeRegisterPromise(p) {
|
|
2002
2008
|
return themeRegisterPromise = p;
|
|
2003
2009
|
}
|
|
@@ -2074,27 +2080,29 @@ async function getOrCreateHighlighter(themes, languages$1) {
|
|
|
2074
2080
|
* standalone renderer to use the new theme without recreating everything.
|
|
2075
2081
|
*/
|
|
2076
2082
|
async function registerMonacoThemes(themes, languages$1) {
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
const
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
2083
|
+
return enqueueRegistration(async () => {
|
|
2084
|
+
registerMonacoLanguages(languages$1);
|
|
2085
|
+
if (themesRegistered && arraysEqual(themes, currentThemes) && arraysEqual(languages$1, currentLanguages)) {
|
|
2086
|
+
const existing = highlighterCache.get(serializeThemes(themes));
|
|
2087
|
+
return existing ? existing.promise : Promise.resolve(null);
|
|
2088
|
+
}
|
|
2089
|
+
const p = (async () => {
|
|
2090
|
+
const highlighter = await getOrCreateHighlighter(themes, languages$1);
|
|
2091
|
+
(0, __shikijs_monaco.shikiToMonaco)(highlighter, monaco_shim_exports);
|
|
2092
|
+
themesRegistered = true;
|
|
2093
|
+
currentThemes = themes.slice();
|
|
2094
|
+
currentLanguages = languages$1.slice();
|
|
2095
|
+
return highlighter;
|
|
2096
|
+
})();
|
|
2097
|
+
setThemeRegisterPromise(p);
|
|
2098
|
+
try {
|
|
2099
|
+
const res = await p;
|
|
2100
|
+
return res;
|
|
2101
|
+
} catch (e) {
|
|
2102
|
+
setThemeRegisterPromise(null);
|
|
2103
|
+
throw e;
|
|
2104
|
+
}
|
|
2105
|
+
});
|
|
2098
2106
|
}
|
|
2099
2107
|
function registerMonacoLanguages(languages$1) {
|
|
2100
2108
|
if (languagesRegistered && arraysEqual(languages$1, currentLanguages)) return;
|
package/dist/index.js
CHANGED
|
@@ -1970,6 +1970,12 @@ let languagesRegistered = false;
|
|
|
1970
1970
|
let currentThemes = [];
|
|
1971
1971
|
let currentLanguages = [];
|
|
1972
1972
|
let themeRegisterPromise = null;
|
|
1973
|
+
let registrationQueue = Promise.resolve();
|
|
1974
|
+
function enqueueRegistration(task) {
|
|
1975
|
+
const next = registrationQueue.then(task, task);
|
|
1976
|
+
registrationQueue = next.then(() => void 0, () => void 0);
|
|
1977
|
+
return next;
|
|
1978
|
+
}
|
|
1973
1979
|
function setThemeRegisterPromise(p) {
|
|
1974
1980
|
return themeRegisterPromise = p;
|
|
1975
1981
|
}
|
|
@@ -2046,27 +2052,29 @@ async function getOrCreateHighlighter(themes, languages$1) {
|
|
|
2046
2052
|
* standalone renderer to use the new theme without recreating everything.
|
|
2047
2053
|
*/
|
|
2048
2054
|
async function registerMonacoThemes(themes, languages$1) {
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
const
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
|
|
2063
|
-
|
|
2064
|
-
|
|
2065
|
-
|
|
2066
|
-
|
|
2067
|
-
|
|
2068
|
-
|
|
2069
|
-
|
|
2055
|
+
return enqueueRegistration(async () => {
|
|
2056
|
+
registerMonacoLanguages(languages$1);
|
|
2057
|
+
if (themesRegistered && arraysEqual(themes, currentThemes) && arraysEqual(languages$1, currentLanguages)) {
|
|
2058
|
+
const existing = highlighterCache.get(serializeThemes(themes));
|
|
2059
|
+
return existing ? existing.promise : Promise.resolve(null);
|
|
2060
|
+
}
|
|
2061
|
+
const p = (async () => {
|
|
2062
|
+
const highlighter = await getOrCreateHighlighter(themes, languages$1);
|
|
2063
|
+
shikiToMonaco(highlighter, monaco_shim_exports);
|
|
2064
|
+
themesRegistered = true;
|
|
2065
|
+
currentThemes = themes.slice();
|
|
2066
|
+
currentLanguages = languages$1.slice();
|
|
2067
|
+
return highlighter;
|
|
2068
|
+
})();
|
|
2069
|
+
setThemeRegisterPromise(p);
|
|
2070
|
+
try {
|
|
2071
|
+
const res = await p;
|
|
2072
|
+
return res;
|
|
2073
|
+
} catch (e) {
|
|
2074
|
+
setThemeRegisterPromise(null);
|
|
2075
|
+
throw e;
|
|
2076
|
+
}
|
|
2077
|
+
});
|
|
2070
2078
|
}
|
|
2071
2079
|
function registerMonacoLanguages(languages$1) {
|
|
2072
2080
|
if (languagesRegistered && arraysEqual(languages$1, currentLanguages)) return;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-monaco",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.10",
|
|
5
5
|
"description": "A framework-agnostic library for integrating Monaco Editor with Shiki highlighting, optimized for streaming updates.",
|
|
6
6
|
"author": "Simon He",
|
|
7
7
|
"license": "MIT",
|