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
JavaScript
"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;