943de290800f0b1804e4366da5c2d76ab2d6f28e
[e-mobility-charging-stations-simulator.git] / WorkerUtils.ts
1 import chalk from 'chalk';
2
3 export class WorkerUtils {
4 private constructor() {
5 // This is intentional
6 }
7
8 public static async sleep(milliSeconds: number): Promise<NodeJS.Timeout> {
9 return new Promise((resolve) => setTimeout(resolve as () => void, milliSeconds));
10 }
11
12 public static defaultExitHandler = (code: number): void => {
13 if (code === 0) {
14 console.info(chalk.green('Worker exited successfully'));
15 } else if (code === 1) {
16 console.info(chalk.green('Worker terminated successfully'));
17 } else if (code > 1) {
18 console.error(chalk.red(`Worker exited with exit code: ${code.toString()}`));
19 }
20 };
21
22 public static defaultErrorHandler = (error: Error): void => {
23 console.error(chalk.red('Worker errored: ', error));
24 };
25 }