1111 * limitations under the License.
1212 */
1313
14- interface TaskQueueOptions {
14+ interface TaskQueueOptions extends WorkerOptions {
1515 size ?: number ;
16- worker ?: WorkerOptions ;
1716}
1817
1918type TaskId = number ;
@@ -36,13 +35,14 @@ type TaskResultDesc = [TaskId, Status, any?];
3635// postTask<T>(taskName: string, ...args: any[]): Task<T>;
3736// }
3837
39- export default class WorkerTaskQueue {
40- /** @private */
41- $$pool ! : TaskQueuePool ;
38+ interface WorkerTaskQueue {
39+ $$pool : TaskQueuePool ;
40+ }
4241
42+ class WorkerTaskQueue {
4343 constructor ( workerUrl : string , options ?: TaskQueueOptions ) {
4444 const size = ( options && Number ( options . size ) ) || 1 ;
45- const pool = new TaskQueuePool ( size , workerUrl , options && options . worker ) ;
45+ const pool = new TaskQueuePool ( size , workerUrl , options ) ;
4646 prop ( this , '$$pool' , pool ) ;
4747 }
4848
@@ -59,6 +59,8 @@ export default class WorkerTaskQueue {
5959 }
6060}
6161
62+ export default WorkerTaskQueue ;
63+
6264// export default WorkerTaskQueue;
6365
6466// All IDs are generated by incrementing a shared counter
@@ -112,15 +114,17 @@ interface ResultController<T = any> extends PromiseController {
112114 result : Promise < T > ;
113115}
114116
115- class TaskQueuePool {
117+ interface TaskQueuePool {
116118 poolSize : number ;
117119 workerUrl : string ;
118120 workerOptions ?: WorkerOptions ;
119121 workers : TaskWorker [ ] ;
120122 tasks : Record < number , Task < any > > ;
121123 results : Record < number , ResultController > ;
122124 workerTaskAssignments : Record < TaskId , WorkerId > ;
125+ }
123126
127+ class TaskQueuePool {
124128 constructor (
125129 poolSize : number ,
126130 workerUrl : string ,
@@ -399,15 +403,17 @@ class TaskQueuePool {
399403 }
400404}
401405
402- class Task < T > {
403- id ! : number ;
404- state ! : string ;
405- result ! : T ;
406+ interface Task < T > {
407+ id : number ;
408+ state : string ;
409+ result : T ;
406410
407- private $$taskIdentifier ! : string ;
408- private $$result ! : Promise < T > ;
409- private $$queue ! : WorkerTaskQueue ;
411+ $$taskIdentifier : string ;
412+ $$result : Promise < T > ;
413+ $$queue : WorkerTaskQueue ;
414+ }
410415
416+ class Task < T > {
411417 cancel ( ) {
412418 this . $$queue . $$pool . cancel ( this . id ) ;
413419 }
0 commit comments