docs: refactor TS example
[poolifier.git] / examples / typescript / worker.ts
index 143bdab127dbfb334f5545518c1a160c1683dc47..1d8af8d904555461173c214fc35172f53160d82e 100644 (file)
@@ -1,28 +1,26 @@
 import { ThreadWorker } from 'poolifier'
 
 export interface MyData {
-  ok: number
+  ok: 0 | 1
 }
 
 export interface MyResponse {
   message: string
-  data: MyData
+  data?: MyData
 }
 
-class MyThreadWorker extends ThreadWorker<MyData, Promise<MyResponse>> {
+class MyThreadWorker extends ThreadWorker<MyData, MyResponse> {
   constructor () {
-    // eslint-disable-next-line @typescript-eslint/promise-function-async
-    super((data: MyData) => this.process(data), {
-      maxInactiveTime: 60000,
-      async: true
+    super(async (data?: MyData) => await this.process(data), {
+      maxInactiveTime: 60000
     })
   }
 
-  private async process (data: MyData): Promise<MyResponse> {
+  private async process (data?: MyData): Promise<MyResponse> {
     return await new Promise(resolve => {
       setTimeout(() => {
         resolve({ message: 'Hello from Worker :)', data })
-      }, 10000)
+      }, 1000)
     })
   }
 }