X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fworker%2FWorkerUtils.ts;h=f36c6046d626d5d4850f1b75dca253edae043b15;hb=6027002ff1398a1cb3bb55d4994e4615efded2c0;hp=1874767370a1a5d438993fd6ec2dba1b9f1318d1;hpb=8664faa4267611c6f15a5e0d7cd77c6ba72eb7ce;p=e-mobility-charging-stations-simulator.git diff --git a/src/worker/WorkerUtils.ts b/src/worker/WorkerUtils.ts index 18747673..f36c6046 100644 --- a/src/worker/WorkerUtils.ts +++ b/src/worker/WorkerUtils.ts @@ -1,31 +1,33 @@ -import { webcrypto } from 'node:crypto'; +import { getRandomValues } from 'node:crypto' -import chalk from 'chalk'; +import chalk from 'chalk' export const sleep = async (milliSeconds: number): Promise => { - return new Promise((resolve) => setTimeout(resolve as () => void, milliSeconds)); -}; + return await new Promise(resolve => + setTimeout(resolve as () => void, milliSeconds) + ) +} export const defaultExitHandler = (code: number): void => { if (code === 0) { - console.info(chalk.green('Worker exited successfully')); + console.info(chalk.green('Worker exited successfully')) } else if (code === 1) { - console.info(chalk.green('Worker terminated successfully')); + console.info(chalk.green('Worker terminated successfully')) } else if (code > 1) { - console.error(chalk.red(`Worker exited with exit code: ${code.toString()}`)); + console.error(chalk.red(`Worker exited with exit code: ${code.toString()}`)) } -}; +} export const defaultErrorHandler = (error: Error): void => { - console.error(chalk.red('Worker errored: '), error); -}; + console.error(chalk.red('Worker errored: '), error) +} export const randomizeDelay = (delay: number): number => { - const random = secureRandom(); - const sign = random < 0.5 ? -1 : 1; - const randomSum = delay * 0.2 * random; // 0-20% of the delay - return delay + sign * randomSum; -}; + const random = secureRandom() + const sign = random < 0.5 ? -1 : 1 + const randomSum = delay * 0.2 * random // 0-20% of the delay + return delay + sign * randomSum +} /** * Generates a cryptographically secure random number in the [0,1[ range @@ -34,5 +36,5 @@ export const randomizeDelay = (delay: number): number => { * @internal */ const secureRandom = (): number => { - return webcrypto.getRandomValues(new Uint32Array(1))[0] / 0x100000000; -}; + return getRandomValues(new Uint32Array(1))[0] / 0x100000000 +}