@@ -7,7 +7,7 @@ import * as errors from './errors.js';
7
7
import WorkerPool from './WorkerPool.js' ;
8
8
9
9
@CreateDestroy ( )
10
- class WorkerManager < T extends WorkerManifest > {
10
+ class WorkerManager < Manifest extends WorkerManifest > {
11
11
/**
12
12
* Creates the WorkerManager
13
13
* The workerFactory needs to be a callback:
@@ -20,19 +20,19 @@ class WorkerManager<T extends WorkerManifest> {
20
20
* If `cores` is set to 0, this creates a useless worker pool
21
21
* Use `undefined` to mean using all cores
22
22
*/
23
- public static async createWorkerManager < T extends WorkerManifest > ( {
23
+ public static async createWorkerManager < Manifest extends WorkerManifest > ( {
24
24
workerFactory,
25
25
manifest,
26
26
cores = 1 ,
27
27
logger = new Logger ( this . name ) ,
28
28
} : {
29
29
workerFactory : WorkerFactory ;
30
- manifest : T ;
30
+ manifest : Manifest ;
31
31
cores ?: number ;
32
32
logger ?: Logger ;
33
- } ) : Promise < WorkerManager < T > > {
33
+ } ) : Promise < WorkerManager < Manifest > > {
34
34
logger . info ( 'Creating WorkerManager' ) ;
35
- const workerManager = new this < T > ( {
35
+ const workerManager = new this < Manifest > ( {
36
36
workerFactory,
37
37
manifest,
38
38
cores,
@@ -44,7 +44,7 @@ class WorkerManager<T extends WorkerManifest> {
44
44
45
45
protected pool : WorkerPool ;
46
46
protected logger : Logger ;
47
- public methods : T ;
47
+ public methods : Manifest ;
48
48
49
49
public constructor ( {
50
50
workerFactory,
@@ -53,15 +53,15 @@ class WorkerManager<T extends WorkerManifest> {
53
53
logger,
54
54
} : {
55
55
workerFactory : WorkerFactory ;
56
- manifest : T ;
56
+ manifest : Manifest ;
57
57
cores : number ;
58
58
logger : Logger ;
59
59
} ) {
60
60
this . logger = logger ;
61
61
this . pool = new WorkerPool ( cores , workerFactory ) ;
62
62
// TODO: Add support for running functions main thread?
63
63
this . methods = new Proxy ( manifest , {
64
- get : ( target : T , prop : string | symbol ) => {
64
+ get : ( target : Manifest , prop : string | symbol ) => {
65
65
if ( typeof prop === 'symbol' ) return ;
66
66
return async (
67
67
data : WorkerResult ,
0 commit comments