44 * ------------------------------------------------------------------------------------------ */
55
66import type { ILogger } from '@codingame/monaco-vscode-log-service-override' ;
7- import { useWorkerFactory , Worker , type WorkerLoader } from 'monaco-languageclient/workerFactory' ;
7+ import { useWorkerFactory , Worker , type PossibleWorkerLabelsClassic , type WorkerLoader } from 'monaco-languageclient/workerFactory' ;
88
9- const workerResolver : Map < string , ( value : void | PromiseLike < void > ) => void > = new Map ( ) ;
10- const workerPromises : Map < string , Promise < void > > = new Map ( ) ;
11- export const createWorkerPromises = ( keys : string [ ] ) => {
9+ const workerResolver : Map < PossibleWorkerLabelsClassic , ( value : void | PromiseLike < void > ) => void > = new Map ( ) ;
10+ const workerPromises : Map < PossibleWorkerLabelsClassic , Promise < void > > = new Map ( ) ;
11+ export const createWorkerPromises = ( keys : PossibleWorkerLabelsClassic [ ] ) => {
1212 workerResolver . clear ( ) ;
1313 workerPromises . clear ( ) ;
1414 for ( const key of keys ) {
@@ -23,46 +23,49 @@ export const awaitWorkerPromises = () => {
2323 return Promise . all ( [ ...workerPromises . values ( ) ] ) ;
2424} ;
2525
26- const pushAndPrintLastWorker = ( lastWorker : string ) => {
26+ const pushAndPrintLastWorker = ( lastWorker : PossibleWorkerLabelsClassic ) => {
2727 console . log ( `Called: ${ lastWorker } \n` ) ;
2828 workerResolver . get ( lastWorker ) ?.( ) ;
2929} ;
3030
31- const defineClassicWorkers : ( ) => Partial < Record < string , WorkerLoader > > = ( ) => {
31+ const defineClassicWorkers : ( ) => Partial < Record < PossibleWorkerLabelsClassic , WorkerLoader > > = ( ) : Record <
32+ PossibleWorkerLabelsClassic ,
33+ WorkerLoader
34+ > => {
3235 const editorWorkerServiceWorker = ( ) => {
3336 const workerUrl = new URL ( '@codingame/monaco-vscode-editor-api/esm/vs/editor/editor.worker.js' , import . meta. url ) ;
3437 const worker = new Worker ( workerUrl , {
3538 type : 'module'
3639 } ) ;
37- pushAndPrintLastWorker ( 'editorWorker ' ) ;
40+ pushAndPrintLastWorker ( 'editorWorkerService ' ) ;
3841 return worker ;
3942 } ;
4043
4144 const cssWorker = ( ) => {
4245 const workerUrl = new URL ( '@codingame/monaco-vscode-standalone-css-language-features' , import . meta. url ) ;
4346 const worker = new Worker ( workerUrl , { type : 'module' } ) ;
44- pushAndPrintLastWorker ( 'cssWorker ' ) ;
47+ pushAndPrintLastWorker ( 'css ' ) ;
4548 return worker ;
4649 } ;
4750
4851 const jsonWorker = ( ) => {
4952 const workerUrl = new URL ( '@codingame/monaco-vscode-standalone-json-language-features' , import . meta. url ) ;
5053 const worker = new Worker ( workerUrl , { type : 'module' } ) ;
51- pushAndPrintLastWorker ( 'jsonWorker ' ) ;
54+ pushAndPrintLastWorker ( 'json ' ) ;
5255 return worker ;
5356 } ;
5457
5558 const htmlWorker = ( ) => {
5659 const workerUrl = new URL ( '@codingame/monaco-vscode-standalone-html-language-features' , import . meta. url ) ;
5760 const worker = new Worker ( workerUrl , { type : 'module' } ) ;
58- pushAndPrintLastWorker ( 'htmlWorker ' ) ;
61+ pushAndPrintLastWorker ( 'html ' ) ;
5962 return worker ;
6063 } ;
6164
6265 const tsWorker = ( ) => {
6366 const workerUrl = new URL ( '@codingame/monaco-vscode-standalone-typescript-language-features' , import . meta. url ) ;
6467 const worker = new Worker ( workerUrl , { type : 'module' } ) ;
65- pushAndPrintLastWorker ( 'tsWorker ' ) ;
68+ pushAndPrintLastWorker ( 'typescript ' ) ;
6669 return worker ;
6770 } ;
6871
0 commit comments