/**
* Generates configuration file content for hypothesis validation with rate limiting.
*
* @param {object} config - Configuration parameters.
* @param {number} validationRate - Validation requests per time unit.
* @param {number} burstSize - Maximum number of requests allowed in a burst.
* @param {number} timeUnit - Time unit for rate limiting (e.g., seconds).
* @returns {string} - Configuration file content as a string.
*/
function generateRateLimitConfig(config) {
const { validationRate, burstSize, timeUnit } = config;
if (typeof validationRate !== 'number' || validationRate <= 0) {
return 'ERROR: validationRate must be a positive number.';
}
if (typeof burstSize !== 'number' || burstSize <= 0) {
return 'ERROR: burstSize must be a positive number.';
}
if (typeof timeUnit !== 'number' || timeUnit <= 0) {
return 'ERROR: timeUnit must be a positive number.';
}
const configContent = `
{
"validation": {
"rateLimit": {
"enabled": true,
"validationRatePerSecond": ${validationRate},
"burstSize": ${burstSize},
"timeUnit": ${timeUnit}
}
}
}
`;
return configContent;
}
Add your comment