UNPKG

randex

Version:

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

122 lines (121 loc) 4.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RandexSetUtil = void 0; var type_1 = require("./type"); var hex = "0123456789ABCDEFabcdef"; var symbol = '[-!$%^&*()_+|~=`{}[]:";<>?,./]' + "'"; var number = "0123456789"; var binary = "01"; var englishLower = "abcdefghijklmnopqrstuvwxyz"; var englishUpper = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var frenchLower = "abcdefghijklmnopqrstuvwxyzàâæçèéêëîïôœùûü"; var frenchUpper = "ABCDEFGHIJKLMNOPQRSTUVWXYZÀÂÆÇÈÉÊËÎÏÔŒÙÛÜ"; var spanishLower = "abcdefghijklmnopqrstuvwxyzñ"; var spanishUpper = "ABCDEFGHIJKLMNOPQRSTUVWXYZÑ"; var russianLower = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"; var russianUpper = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"; var RandexSetUtil = /** @class */ (function () { function RandexSetUtil() { } RandexSetUtil.toSingleRange = function (itemSet) { if (Array.isArray(itemSet)) { return RandexSetUtil.toAlphabetRange(itemSet); } else if (type_1.RandexTypeParser.inAlphabet(itemSet)) { return RandexSetUtil.toAlphabetRange([itemSet, "default"]); } switch (itemSet) { case "hex": return hex; case "symbol": return symbol; case "number": return number; case "binary": return binary; default: return ""; } }; RandexSetUtil.toAlphabetCase = function (cas, lowerWord, upperWord) { switch (cas) { case "lower": case "l": return lowerWord; case "upper": case "u": return upperWord; default: return lowerWord + upperWord; } }; RandexSetUtil.toAlphabetRange = function (set) { var alphabet = set[0], aCase = set[1]; switch (alphabet) { case "english": return RandexSetUtil.toAlphabetCase(aCase, englishLower, englishUpper); case "french": return RandexSetUtil.toAlphabetCase(aCase, frenchLower, frenchUpper); case "spanish": return RandexSetUtil.toAlphabetCase(aCase, spanishLower, spanishUpper); // case "german": // return RtSetUtil.toAlphabetCase(aCase, englishLower, englishUpper); case "russian": return RandexSetUtil.toAlphabetCase(aCase, russianLower, russianUpper); } }; RandexSetUtil.toRange = function (set) { var result = ""; if (type_1.RandexTypeParser.isSetSingle(set)) { result += RandexSetUtil.toSingleRange(set); } else if (type_1.RandexTypeParser.isSet(set)) { result += set.map(RandexSetUtil.toSingleRange).join(""); } return result; }; RandexSetUtil.getLength = function (reservedChars, length, defaultLength) { var result = defaultLength; if (typeof length === "number" && length > reservedChars) { result = length - reservedChars; } else if (Array.isArray(length)) { var min = length[0], max = length[1]; var dMin = min - reservedChars; var dMax = max - reservedChars; if (dMin >= 0 && dMax >= 0) { if (dMin < dMax) { return [dMin, dMax]; } else if (dMin === dMax) { return dMin; } } } return result; }; RandexSetUtil.randomSingleNumber = function (length) { return Math.floor(Math.random() * length); }; RandexSetUtil.randomRangeNumber = function (min, max) { var minN = Math.min(min, max); var maxN = Math.max(min, max); return RandexSetUtil.randomSingleNumber(maxN - minN + 1) + minN; }; RandexSetUtil.many = function (count, callback) { var result = []; var length = Array.isArray(count) ? RandexSetUtil.randomRangeNumber(count[0], count[1]) : count; for (var i = 0; i < length; i++) { result.push(callback()); } return result; }; RandexSetUtil.defaultFileNameLength = [3, 10]; RandexSetUtil.defaultExtensionLength = [2, 5]; RandexSetUtil.fileNameExtraChars = ""; //"-_."; RandexSetUtil.defaultEmailPrefixLength = [6, 10]; RandexSetUtil.defaultHightDomainEmailLength = [1, 6]; RandexSetUtil.defaultLowDomainEmailLength = [2, 4]; return RandexSetUtil; }()); exports.RandexSetUtil = RandexSetUtil;