@rohitbakoliya/test-gen
Version:
Quickly generate test cases for stress testing using interactive CLI.
43 lines (42 loc) • 1.42 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Random_1 = __importDefault(require("../helper/Random"));
const RndNumber_1 = __importDefault(require("./RndNumber"));
const RndString_1 = __importDefault(require("./RndString"));
/**
* Generates Random array of `string` | `number`
* @returns random generated array
*/
const RndArray = ({ maxSize, minSize, pattern, range }) => {
const size = Random_1.default({ max: maxSize, min: minSize });
const arr = Array.from(Array(size));
let output = size + '\n';
for (let i = 0; i < size; i++) {
if (pattern !== undefined) {
arr[i] = RndString_1.default({ pattern }).result;
output += arr[i] + '\n';
}
else {
if (range === undefined) {
throw new Error('Either pattern or range must be provided');
}
else {
const [min, max] = range;
arr[i] = RndNumber_1.default({ min, max }).result;
output += arr[i] + ' ';
}
}
}
if (range !== undefined) {
output += '\n';
}
return {
size,
result: arr,
output,
};
};
exports.default = RndArray;