UNPKG

random-ease

Version:

A powerful and versatile library for generating random data and values. It provides a wide range of functions to generate random numbers, strings, arrays, booleans, dates, colors, names, addresses, and more. The package is designed to simplify the generat

451 lines (450 loc) 18.5 kB
"use strict"; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateUniversityName = exports.generateUUID = exports.generateURL = exports.generateTwitterHandle = exports.generateTimeZone = exports.generateString = exports.generateSportsTeamName = exports.generateSocialMediaHandle = exports.generateSlug = exports.generateSentence = exports.generateSSN = exports.generateRegistrationNumber = exports.generateRandomTime = exports.generateRandomRgbColor = exports.generateRandomHexColor = exports.generateRandomElement = exports.generateRandomDate = exports.generateQuote = exports.generateProgrammingLanguage = exports.generateProgrammingFramework = exports.generatePhoneNumber = exports.generatePassword = exports.generateParagraph = exports.generateNumber = exports.generateMovieTitle = exports.generateMACAddress = exports.generateLicensePlate = exports.generateJobTitle = exports.generateJobLevel = exports.generateJobIndustry = exports.generateInteger = exports.generateISBN = exports.generateIPv4Address = exports.generateGUID = exports.generateFruit = exports.generateFloat = exports.generateFileName = exports.generateEmailAddress = exports.generateDomainName = exports.generateCurrencySymbol = exports.generateCurrencyCode = exports.generateCreditCardNumber = exports.generateCountry = exports.generateCompanyName = exports.generateBooleanWithProbability = exports.generateBoolean = exports.generateBookTitle = exports.generateAvatar = exports.generateArray = exports.generateAddress = void 0; exports.shuffleArray = exports.generateZodiacSign = exports.generateVehicleMake = exports.generateUsername = void 0; var helpers_1 = require("./helpers"); function generateAddress() { var streetNames = ['Main St', 'First Ave', 'Oak Lane', 'Cedar Rd', 'Maple Avenue']; var cities = ['New York', 'Los Angeles', 'London', 'Paris', 'Tokyo']; var randomStreet = generateRandomElement(streetNames); var randomCity = generateRandomElement(cities); var randomNumber = generateNumber(100, 999); return "".concat(randomNumber, " ").concat(randomStreet, ", ").concat(randomCity); } exports.generateAddress = generateAddress; function generateArray(length, min, max) { var array = []; for (var i = 0; i < length; i++) { array.push(generateNumber(min, max)); } return array; } exports.generateArray = generateArray; function generateAvatar(avatarSize) { if (avatarSize === void 0) { avatarSize = 200; } var gravatarBaseUrl = 'https://www.gravatar.com/avatar/'; var avatarDesigns = ['identicon', 'monsterid', 'wavatar']; var randomEmail = generateEmailAddress(); var randomDesign = generateRandomElement(avatarDesigns); var gravatarUrl = "".concat(gravatarBaseUrl).concat(encodeURIComponent(randomEmail), "?s=").concat(avatarSize, "&d=").concat(randomDesign); return gravatarUrl; } exports.generateAvatar = generateAvatar; function generateBookTitle() { var adjectives = ['The Great', 'The Secret', 'The Lost', 'The Hidden', 'The Forgotten']; var nouns = ['Book', 'Tome', 'Novel', 'Chronicle', 'Saga']; var randomAdjective = generateRandomElement(adjectives); var randomNoun = generateRandomElement(nouns); return "".concat(randomAdjective, " ").concat(randomNoun); } exports.generateBookTitle = generateBookTitle; function generateBoolean() { return Math.random() < 0.5; } exports.generateBoolean = generateBoolean; function generateBooleanWithProbability(probability) { return Math.random() < probability; } exports.generateBooleanWithProbability = generateBooleanWithProbability; function generateCompanyName() { var prefixes = ['ABC', 'XYZ', 'Global', 'International', 'National']; var suffixes = ['Corp', 'Inc', 'Ltd', 'Group', 'Solutions']; var randomPrefix = generateRandomElement(prefixes); var randomSuffix = generateRandomElement(suffixes); return "".concat(randomPrefix, " ").concat(randomSuffix); } exports.generateCompanyName = generateCompanyName; function generateCountry() { var countries = [ 'USA', 'Canada', 'Germany', 'France', 'Australia', 'Japan', 'Brazil', 'India', 'China', 'Italy', 'Pakistan', 'India', ]; return generateRandomElement(countries); } exports.generateCountry = generateCountry; function generateCreditCardNumber() { var creditCardNumber = ''; for (var i = 0; i < 16; i++) { creditCardNumber += generateNumber(0, 9).toString(); } return creditCardNumber; } exports.generateCreditCardNumber = generateCreditCardNumber; function generateCurrencyCode() { var currencies = ['USD', 'EUR', 'GBP', 'JPY', 'AUD', 'CAD', 'CHF', 'CNY', 'SEK', 'NZD', 'PKR', 'INR']; return generateRandomElement(currencies); } exports.generateCurrencyCode = generateCurrencyCode; function generateCurrencySymbol() { var symbols = ['$', '€', '£', '¥', '₹']; return generateRandomElement(symbols); } exports.generateCurrencySymbol = generateCurrencySymbol; function generateDomainName() { var extensions = ['.com', '.net', '.org', '.io', '.co']; var words = ['example', 'domain', 'website', 'company', 'business']; var randomWord = generateRandomElement(words); var randomExtension = generateRandomElement(extensions); return randomWord + randomExtension; } exports.generateDomainName = generateDomainName; function generateEmailAddress() { var domains = ['gmail.com', 'yahoo.com', 'hotmail.com', 'outlook.com', 'example.com']; var usernameLength = generateNumber(5, 10); var username = generateString(usernameLength); var randomDomain = generateRandomElement(domains); return "".concat(username, "@").concat(randomDomain); } exports.generateEmailAddress = generateEmailAddress; function generateFileName(extension) { var fileNameLength = generateNumber(5, 10); var fileName = generateString(fileNameLength); return "".concat(fileName, ".").concat(extension); } exports.generateFileName = generateFileName; function generateFloat(min, max) { return Math.random() * (max - min) + min; } exports.generateFloat = generateFloat; function generateFruit() { var fruits = ['Apple', 'Banana', 'Orange', 'Mango', 'Strawberry']; return generateRandomElement(fruits); } exports.generateFruit = generateFruit; function generateGUID() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = (Math.random() * 16) | 0; var v = c === 'x' ? r : (r & 0x3) | 0x8; return v.toString(16); }); } exports.generateGUID = generateGUID; function generateIPv4Address() { return "".concat(generateNumber(1, 255), ".").concat(generateNumber(0, 255), ".").concat(generateNumber(0, 255), ".").concat(generateNumber(1, 254)); } exports.generateIPv4Address = generateIPv4Address; function generateISBN() { var prefix = '978'; var group = generateNumber(0, 9).toString(); var publisher = generateNumber(0, 9999).toString().padStart(4, '0'); var title = generateNumber(0, 99999).toString().padStart(5, '0'); var checksum = generateNumber(0, 9).toString(); return "".concat(prefix, "-").concat(group, "-").concat(publisher, "-").concat(title, "-").concat(checksum); } exports.generateISBN = generateISBN; function generateInteger(min, max) { return generateNumber(min, max); } exports.generateInteger = generateInteger; function generateJobIndustry() { var industries = ['Technology', 'Finance', 'Healthcare', 'Education', 'Retail']; return generateRandomElement(industries); } exports.generateJobIndustry = generateJobIndustry; function generateJobLevel() { var levels = ['Entry Level', 'Mid Level', 'Senior Level', 'Executive Level']; return generateRandomElement(levels); } exports.generateJobLevel = generateJobLevel; function generateJobTitle() { var jobTitles = [ 'Software Developer', 'Data Analyst', 'Project Manager', 'UX Designer', 'Marketing Specialist', 'Financial Analyst', ]; return generateRandomElement(jobTitles); } exports.generateJobTitle = generateJobTitle; function generateLicensePlate() { var letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; var numbers = '0123456789'; var licensePlate = ''; for (var i = 0; i < 3; i++) { licensePlate += generateRandomElement(letters.split('')); } licensePlate += '-'; for (var i = 0; i < 4; i++) { licensePlate += generateRandomElement(numbers.split('')); } return licensePlate; } exports.generateLicensePlate = generateLicensePlate; function generateMACAddress() { var hexDigits = '0123456789ABCDEF'; var macAddress = ''; for (var i = 0; i < 6; i++) { macAddress += "".concat(hexDigits.charAt(generateNumber(0, 15))).concat(hexDigits.charAt(generateNumber(0, 15))); if (i < 5) { macAddress += ':'; } } return macAddress; } exports.generateMACAddress = generateMACAddress; function generateMovieTitle() { var adjectives = ['Fantastic', 'Amazing', 'Incredible', 'Spectacular', 'Thrilling']; var nouns = ['Adventure', 'Journey', 'Quest', 'Mystery', 'Legacy']; var randomAdjective = generateRandomElement(adjectives); var randomNoun = generateRandomElement(nouns); return "".concat(randomAdjective, " ").concat(randomNoun); } exports.generateMovieTitle = generateMovieTitle; function generateNumber(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } exports.generateNumber = generateNumber; function generateParagraph(sentenceCount, wordsPerSentence) { var paragraph = ''; for (var i = 0; i < sentenceCount; i++) { var randomSentence = generateSentence(wordsPerSentence); paragraph += randomSentence + '. '; } return paragraph.trim(); } exports.generateParagraph = generateParagraph; function generatePassword(length, includeUppercase, includeNumbers, includeSymbols) { var characters = 'abcdefghijklmnopqrstuvwxyz'; if (includeUppercase) characters += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; if (includeNumbers) characters += '0123456789'; if (includeSymbols) characters += '!@#$%^&*()'; var password = ''; for (var i = 0; i < length; i++) { var randomIndex = Math.floor(Math.random() * characters.length); password += characters.charAt(randomIndex); } return password; } exports.generatePassword = generatePassword; function generatePhoneNumber() { var countryCode = generateNumber(1, 99).toString().padStart(2, '0'); var areaCode = generateNumber(100, 999).toString().padStart(3, '0'); var number = generateNumber(1000000, 9999999).toString().padStart(7, '0'); return "+".concat(countryCode, "-").concat(areaCode, "-").concat(number); } exports.generatePhoneNumber = generatePhoneNumber; function generateProgrammingFramework() { var frameworks = ['React', 'Angular', 'Vue', 'Node.js', 'Django']; return generateRandomElement(frameworks); } exports.generateProgrammingFramework = generateProgrammingFramework; function generateProgrammingLanguage() { var languages = ['JavaScript', 'Python', 'Java', 'C++', 'Ruby']; return generateRandomElement(languages); } exports.generateProgrammingLanguage = generateProgrammingLanguage; function generateQuote() { var quotes = [ 'The only way to do great work is to love what you do. - Steve Jobs', 'Innovation distinguishes between a leader and a follower. - Steve Jobs', "Believe you can and you're halfway there. - Theodore Roosevelt", 'The future belongs to those who believe in the beauty of their dreams. - Eleanor Roosevelt', "Don't watch the clock; do what it does. Keep going. - Sam Levenson", ]; return generateRandomElement(quotes); } exports.generateQuote = generateQuote; function generateRandomDate(start, end) { var startTime = start.getTime(); var endTime = end.getTime(); var randomTime = Math.random() * (endTime - startTime) + startTime; return new Date(randomTime); } exports.generateRandomDate = generateRandomDate; function generateRandomElement(array) { var randomIndex = Math.floor(Math.random() * array.length); return array[randomIndex]; } exports.generateRandomElement = generateRandomElement; function generateRandomHexColor() { var randomColor = Math.floor(Math.random() * 16777215).toString(16); return "#".concat(randomColor); } exports.generateRandomHexColor = generateRandomHexColor; function generateRandomRgbColor() { var r = generateNumber(0, 255); var g = generateNumber(0, 255); var b = generateNumber(0, 255); return "rgb(".concat(r, ", ").concat(g, ", ").concat(b, ")"); } exports.generateRandomRgbColor = generateRandomRgbColor; function generateRandomTime() { var hours = generateNumber(0, 23).toString().padStart(2, '0'); var minutes = generateNumber(0, 59).toString().padStart(2, '0'); var seconds = generateNumber(0, 59).toString().padStart(2, '0'); return "".concat(hours, ":").concat(minutes, ":").concat(seconds); } exports.generateRandomTime = generateRandomTime; function generateRegistrationNumber() { var letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; var numbers = '0123456789'; var regNumber = ''; for (var i = 0; i < 3; i++) { regNumber += generateRandomElement(letters.split('')); } regNumber += '-'; for (var i = 0; i < 4; i++) { regNumber += generateRandomElement(numbers.split('')); } return regNumber; } exports.generateRegistrationNumber = generateRegistrationNumber; function generateSSN() { var ssn = generateNumber(100, 999).toString() + '-' + generateNumber(10, 99).toString() + '-' + generateNumber(1000, 9999).toString(); return ssn; } exports.generateSSN = generateSSN; function generateSentence(wordCount) { var words = [ 'Lorem', 'ipsum', 'dolor', 'sit', 'amet', 'consectetur', 'adipiscing', 'elit', 'sed', 'do', 'eiusmod', 'tempor', 'incididunt', ]; var sentence = ''; for (var i = 0; i < wordCount; i++) { var randomWord = generateRandomElement(words); sentence += randomWord + ' '; } return sentence.trim(); } exports.generateSentence = generateSentence; function generateSlug(title) { var slug = title.toLowerCase().replace(/\s+/g, '-'); return slug; } exports.generateSlug = generateSlug; function generateSocialMediaHandle() { var prefixes = ['@', '#']; var handles = (0, helpers_1.generateRandomHandles)(); var randomPrefix = generateRandomElement(prefixes); var randomHandle = generateRandomElement(handles); return randomPrefix + randomHandle; } exports.generateSocialMediaHandle = generateSocialMediaHandle; function generateSportsTeamName() { var teams = ['Lions', 'Tigers', 'Eagles', 'Panthers', 'Sharks']; var randomPrefix = generateRandomElement(teams); var randomSuffix = generateRandomElement(teams); return "".concat(randomPrefix, " ").concat(randomSuffix); } exports.generateSportsTeamName = generateSportsTeamName; function generateString(length) { var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; var result = ''; for (var i = 0; i < length; i++) { var randomIndex = Math.floor(Math.random() * characters.length); result += characters.charAt(randomIndex); } return result; } exports.generateString = generateString; function generateTimeZone() { var timeZones = ['UTC-5', 'UTC+1', 'UTC-8', 'UTC+9', 'UTC+3']; return generateRandomElement(timeZones); } exports.generateTimeZone = generateTimeZone; function generateTwitterHandle() { var handleLength = generateNumber(5, 10); var handle = generateString(handleLength); return "@".concat(handle); } exports.generateTwitterHandle = generateTwitterHandle; function generateURL() { var protocol = generateRandomElement(['http', 'https']); var domainLength = generateNumber(5, 10); var domain = generateString(domainLength); var pathLength = generateNumber(1, 5); var path = generateString(pathLength); return "".concat(protocol, "://").concat(domain, "/").concat(path); } exports.generateURL = generateURL; function generateUUID() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { var r = (Math.random() * 16) | 0; var v = c === 'x' ? r : (r & 0x3) | 0x8; return v.toString(16); }); } exports.generateUUID = generateUUID; function generateUniversityName() { var universities = ['Harvard', 'MIT', 'Stanford', 'Cambridge', 'Oxford']; return generateRandomElement(universities); } exports.generateUniversityName = generateUniversityName; function generateUsername() { var usernameLength = generateNumber(5, 10); var username = generateString(usernameLength); return username; } exports.generateUsername = generateUsername; function generateVehicleMake() { var makes = ['Toyota', 'Honda', 'Ford', 'Chevrolet', 'BMW']; return generateRandomElement(makes); } exports.generateVehicleMake = generateVehicleMake; function generateZodiacSign() { var signs = [ 'Aries', 'Taurus', 'Gemini', 'Cancer', 'Leo', 'Virgo', 'Libra', 'Scorpio', 'Sagittarius', 'Capricorn', 'Aquarius', 'Pisces', ]; return generateRandomElement(signs); } exports.generateZodiacSign = generateZodiacSign; function shuffleArray(array) { var _a; var shuffledArray = __spreadArray([], array, true); for (var i = shuffledArray.length - 1; i > 0; i--) { var randomIndex = Math.floor(Math.random() * (i + 1)); _a = [shuffledArray[randomIndex], shuffledArray[i]], shuffledArray[i] = _a[0], shuffledArray[randomIndex] = _a[1]; } return shuffledArray; } exports.shuffleArray = shuffleArray;