diff --git a/packages/tasq/src/TaskExecutor.test.ts b/packages/tasq/src/TaskExecutor.test.ts index 08b3b04..08b236e 100644 --- a/packages/tasq/src/TaskExecutor.test.ts +++ b/packages/tasq/src/TaskExecutor.test.ts @@ -19,7 +19,7 @@ describe('TaskExecutor', () => { await te.wait() expect(results).toEqual([10, 5, 7]) }) - it.only('executes tasks in different order', async () => { + it('executes tasks in different order', async () => { const results: number[] = [] const te = new TaskExecutor(2, async task => { await delay(task) @@ -36,7 +36,13 @@ describe('TaskExecutor', () => { }) describe('error handling', () => { + it('does not fail on error', async () => { + }) + + it('triggers failure event on error', async () => { + + }) }) }) diff --git a/packages/tasq/src/TaskExecutor.ts b/packages/tasq/src/TaskExecutor.ts index 95e4c28..98c82a1 100644 --- a/packages/tasq/src/TaskExecutor.ts +++ b/packages/tasq/src/TaskExecutor.ts @@ -5,9 +5,9 @@ export interface ITask { execute(): Promise } -interface ITaskEvents { - success: void - failure: Error +interface ITaskEventHandler { + success: () => void + failure: (err: Error) => void } export interface ITaskExecutor { @@ -15,10 +15,10 @@ export interface ITaskExecutor { wait(): Promise - addListener( - event: E, listener: (value: ITaskEvents[E]) => void): void - removeListener( - event: E, listener: (value: ITaskEvents[E]) => void): void + addListener( + event: E, listener: ITaskEventHandler[E]): void + removeListener( + event: E, listener: ITaskEventHandler[E]): void } let counter = 0 @@ -34,12 +34,12 @@ export class TaskExecutor implements ITaskExecutor { ) { } - addListener( - event: E, listener: (value: ITaskEvents[E]) => void): void { + addListener( + event: E, listener: ITaskEventHandler[E]): void { this.events.addListener(event, listener) } - removeListener( - event: E, listener: (value: ITaskEvents[E]) => void): void { + removeListener( + event: E, listener: ITaskEventHandler[E]): void { this.events.removeListener(event, listener) }