11import uuidX from "@nasriya/uuidx" ;
22import atomix from "../../atomix" ;
3- import { BaseQueueTask , TaskPriorityLevel } from "./docs" ;
3+ import { BaseQueueTask , InternalQueueTask , TaskPriorityLevel } from "./docs" ;
44
55/**
66 * The general-purpose prioritized task queue utility.
@@ -24,7 +24,7 @@ import { BaseQueueTask, TaskPriorityLevel } from "./docs";
2424 */
2525export class TaskQueue {
2626 readonly #_flags = Object . seal ( { isRunning : false } )
27- readonly #_queues: Map < TaskPriorityLevel , BaseQueueTask [ ] > = new Map ( [
27+ readonly #_queues: Map < TaskPriorityLevel , InternalQueueTask [ ] > = new Map ( [
2828 [ 0 , [ ] ] , [ 1 , [ ] ] , [ 2 , [ ] ] , [ 3 , [ ] ] ,
2929 ] ) ;
3030
@@ -33,7 +33,7 @@ export class TaskQueue {
3333 * being searched first. If all queues are empty, returns undefined.
3434 * @returns the next task, or undefined if all queues are empty
3535 */
36- #_getNextTask( ) : BaseQueueTask | undefined {
36+ #_getNextTask( ) : InternalQueueTask | undefined {
3737 const priorityLevels : TaskPriorityLevel [ ] = [ 0 , 1 , 2 , 3 ] ;
3838 for ( const level of priorityLevels ) {
3939 const queue = this . #_queues. get ( level ) ! ;
@@ -91,7 +91,7 @@ export class TaskQueue {
9191 }
9292
9393 readonly #_handlers = {
94- onResolve : ( task : BaseQueueTask , userData : any ) => {
94+ onResolve : ( task : InternalQueueTask , userData : any ) => {
9595 this . #_stats. succeeded ++ ;
9696
9797 // Run user onResolve callback
@@ -101,7 +101,7 @@ export class TaskQueue {
101101 this . #_helpers. logger . taskCallbackError ( 'onResolve' , task . id , callbackError ) ;
102102 }
103103 } ,
104- onReject : ( task : BaseQueueTask , error : any ) => {
104+ onReject : ( task : InternalQueueTask , error : any ) => {
105105 this . #_stats. failed ++ ;
106106
107107 // Run user onReject callback
@@ -111,7 +111,7 @@ export class TaskQueue {
111111 this . #_helpers. logger . taskCallbackError ( 'onReject' , task . id , callbackError ) ;
112112 }
113113 } ,
114- onDone : ( task : BaseQueueTask ) => {
114+ onDone : ( task : InternalQueueTask ) => {
115115 this . #_helpers. id . remove ( task . id ) ;
116116 this . #_stats. processed ++ ;
117117
@@ -269,7 +269,7 @@ export class TaskQueue {
269269 */
270270 addTask ( task : BaseQueueTask ) {
271271 this . #_helpers. validateTask ( task ) ;
272- this . #_queues. get ( task . priority ?? 3 ) ! . push ( task ) ;
272+ this . #_queues. get ( task . priority ?? 3 ) ! . push ( task as InternalQueueTask ) ;
273273 this . #_stats. total ++ ;
274274 this . #_run( ) ;
275275 }
@@ -284,7 +284,7 @@ export class TaskQueue {
284284 */
285285 bulkAddTasks ( tasks : BaseQueueTask [ ] ) {
286286 tasks . forEach ( task => this . #_helpers. validateTask ( task ) ) ;
287- tasks . forEach ( task => this . #_queues. get ( task . priority ?? 3 ) ! . push ( task ) ) ;
287+ tasks . forEach ( task => this . #_queues. get ( task . priority ?? 3 ) ! . push ( task as InternalQueueTask ) ) ;
288288 this . #_stats. total += tasks . length ;
289289 this . #_run( ) ;
290290 }
0 commit comments