ts-async-queue
Version:
A simple async-await task queue written in TypeScript
29 lines (24 loc) • 640 B
text/typescript
import { TaskQueue } from './taskQueue';
/**
* An error raised during the queue execution
*/
export class QueueError<T> extends Error {
constructor(
message: string,
public readonly queue: TaskQueue,
public data?: T
) {
super(message)/* istanbul ignore next: because stupid typescript */;
Object.setPrototypeOf(this, QueueError.prototype);
this.name = 'QueueError';
}
public get failedTask() {
return this.queue.currentRunningTask!;
}
public get failedTaskIndex() {
return this.queue.currentTaskIndex;
}
toString() {
return this.name + ': ' + this.message + '\n' + this.data;
}
}