refactor: cleanup get composite schedule code
[e-mobility-charging-stations-simulator.git] / src / worker / WorkerUtils.ts
index 00feba445ff939cbc933eac0daf1a12fc0cfb4c4..452f8cfe8e4d549cb0563e20c78d8e686f4de018 100644 (file)
@@ -1,13 +1,19 @@
 import chalk from 'chalk';
 
-export class WorkerUtils {
-  private constructor() {
-    // This is intentional
+export const sleep = async (milliSeconds: number): Promise<NodeJS.Timeout> => {
+  return new Promise<NodeJS.Timeout>((resolve) => setTimeout(resolve as () => void, milliSeconds));
+};
+
+export const defaultExitHandler = (code: number): void => {
+  if (code === 0) {
+    console.info(chalk.green('Worker exited successfully'));
+  } else if (code === 1) {
+    console.info(chalk.green('Worker terminated successfully'));
+  } else if (code > 1) {
+    console.error(chalk.red(`Worker exited with exit code: ${code.toString()}`));
   }
+};
 
-  public static defaultExitHandler = (code: number): void => {
-    if (code !== 0) {
-      console.error(chalk.red(`Worker stopped with exit code ${code}`));
-    }
-  };
-}
+export const defaultErrorHandler = (error: Error): void => {
+  console.error(chalk.red('Worker errored: ', error));
+};