UNPKG

randex

Version:

Generates random filename, username, email, name, full name, etc for test purposes.

84 lines (83 loc) 2.52 kB
"use strict"; 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;