docs: refactor TS example
[poolifier.git] / examples / typescript / worker.ts
index 0b44e64042a3d58abf7de4966101633b2b9f31b7..1d8af8d904555461173c214fc35172f53160d82e 100644 (file)
@@ -1,29 +1,28 @@
-import { ThreadWorker } from "poolifier";
+import { ThreadWorker } from 'poolifier'
 
 export interface MyData {
-  ok: number;
+  ok: 0 | 1
 }
 
 export interface MyResponse {
-  message: string;
-  data: MyData;
+  message: string
+  data?: MyData
 }
 
-class MyThreadWorker extends ThreadWorker<MyData, Promise<MyResponse>> {
-  constructor() {
-    super((data) => this.process(data), {
-      maxInactiveTime: 60_000,
-      async: true,
-    });
+class MyThreadWorker extends ThreadWorker<MyData, MyResponse> {
+  constructor () {
+    super(async (data?: MyData) => await this.process(data), {
+      maxInactiveTime: 60000
+    })
   }
 
-  private async process(data: MyData): Promise<MyResponse> {
-    return new Promise((resolve) => {
+  private async process (data?: MyData): Promise<MyResponse> {
+    return await new Promise(resolve => {
       setTimeout(() => {
-        resolve({ message: "Hello from Worker :)", data });
-      }, 10_000);
-    });
+        resolve({ message: 'Hello from Worker :)', data })
+      }, 1000)
+    })
   }
 }
 
-export default new MyThreadWorker();
+export default new MyThreadWorker()