File size: 1,070 Bytes
14960b8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// src/utils.js

/**
 * Creates a promise that resolves after a specified number of milliseconds.
 * @param {number} ms - The number of milliseconds to sleep.
 * @returns {Promise<void>}
 */
function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

/**
 * Waits for a random amount of time within a specified range.
 * Uses defaults from config if no arguments provided.
 * @param {number} [minMs] - Minimum delay in milliseconds.
 * @param {number} [maxMs] - Maximum delay in milliseconds.
 * @returns {Promise<void>}
 */
 // Import config inside if needed for defaults, or keep simple defaults here
 const config = require('./config'); // Import config to use defaults

async function randomDelay(minMs = config.defaultMinDelay, maxMs = config.defaultMaxDelay) {
    // Ensure min is not greater than max
    if (minMs > maxMs) {
        [minMs, maxMs] = [maxMs, minMs]; // Swap if necessary
    }
    const delay = Math.floor(Math.random() * (maxMs - minMs + 1)) + minMs;
    await sleep(delay);
}

module.exports = { randomDelay, sleep };