refactor: make TS code example also works with TS interpreter like
authorJérôme Benoit <jerome.benoit@sap.com>
Thu, 10 Aug 2023 00:32:19 +0000 (02:32 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Thu, 10 Aug 2023 00:32:19 +0000 (02:32 +0200)
ts-node

Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
examples/typescript/pool.ts

index a53857c0f311a63ff321b4ce08b9e1ef02465dcd..93774422b4500459715ec236c136c1601f13add4 100644 (file)
@@ -1,4 +1,4 @@
-import { dirname, join } from 'path'
+import { dirname, extname, join } from 'path'
 import { fileURLToPath } from 'url'
 import type { MyData, MyResponse } from './worker'
 import {
@@ -7,9 +7,14 @@ import {
   availableParallelism
 } from 'poolifier'
 
+const workerFile = join(
+  dirname(fileURLToPath(import.meta.url)),
+  `worker${extname(fileURLToPath(import.meta.url))}`
+)
+
 export const fixedPool = new FixedThreadPool<MyData, Promise<MyResponse>>(
   availableParallelism(),
-  join(dirname(fileURLToPath(import.meta.url)), 'worker.js'),
+  workerFile,
   {
     errorHandler: (e: Error) => {
       console.error(e)
@@ -23,7 +28,7 @@ export const fixedPool = new FixedThreadPool<MyData, Promise<MyResponse>>(
 export const dynamicPool = new DynamicThreadPool<MyData, Promise<MyResponse>>(
   Math.floor(availableParallelism() / 2),
   availableParallelism(),
-  join(dirname(fileURLToPath(import.meta.url)), 'worker.js'),
+  workerFile,
   {
     errorHandler: (e: Error) => {
       console.error(e)