randex
Version:
Generates random filename, username, email, name, full name, etc for test purposes.
84 lines (83 loc) • 2.52 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.randexRandom = void 0;
var set_1 = require("../basic/set");
var type_1 = require("../basic/type");
function randomString(params) {
var length = params.length, range = params.range;
var result = "";
var currentLength = 0;
if (typeof length === "number") {
currentLength = length;
}
else if (Array.isArray(length)) {
var min = length[0], max = length[1];
currentLength = set_1.RandexSetUtil.randomRangeNumber(min, max);
}
for (var i = 0; i < currentLength; i++) {
var index = set_1.RandexSetUtil.randomSingleNumber(range.length - 1);
if (range.length >= index || range.length <= index) {
result += range[index];
}
}
return result;
}
function toContent(options) {
if (type_1.RandexTypeParser.isSet(options)) {
return {
set: options,
};
}
else if (type_1.RandexTypeParser.isPartArray(options)) {
if (options.length === 2) {
var set = options[0], rangeOrLength = options[1];
return type_1.RandexTypeParser.isLength(rangeOrLength)
? {
set: set,
length: rangeOrLength,
}
: {
set: set,
charRange: rangeOrLength,
};
}
else if (options.length === 3) {
var set = options[0], range = options[1], length_1 = options[2];
return {
set: set,
charRange: range,
length: length_1,
};
}
}
return options;
}
function toRangeOptions(options) {
var fullRange = "";
var set = options.set, range = options.charRange, _a = options.length, length = _a === void 0 ? 1 : _a;
if (range) {
fullRange += range;
}
if (set) {
fullRange += set_1.RandexSetUtil.toRange(set);
}
return {
range: fullRange,
length: length,
};
}
function randexRandom() {
var options = [];
for (var _i = 0; _i < arguments.length; _i++) {
options[_i] = arguments[_i];
}
var result = "";
for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {
var option = options_1[_a];
var content = toContent(option);
var p = toRangeOptions(content);
result += randomString(p);
}
return result;
}
exports.randexRandom = randexRandom;