46 lines
1.5 KiB
TypeScript
46 lines
1.5 KiB
TypeScript
// utils/userGenerator.ts
|
|
|
|
// Список русских имён, фамилий, отчеств
|
|
const firstNames = ['Алексей', 'Игорь', 'Иван', 'Владислав', 'Дмитрий', 'Константин', 'Сергей', 'Всеволод'];
|
|
const lastNames = ['Иванов', 'Петров', 'Сидоров', 'Кузнецов', 'Смирнов', 'Попов', 'Фёдоров'];
|
|
const middleNames = ['Алексеевич', 'Иванович', 'Дмитриевич', 'Андреевич', 'Сергеевич', 'Олегович'];
|
|
|
|
function getRandomFromArray(array: string[]): string {
|
|
return array[Math.floor(Math.random() * array.length)];
|
|
}
|
|
|
|
export function generateFirstName(): string {
|
|
return getRandomFromArray(firstNames);
|
|
}
|
|
|
|
export function generateLastName(): string {
|
|
return getRandomFromArray(lastNames);
|
|
}
|
|
|
|
export function generateMiddleName(): string {
|
|
return getRandomFromArray(middleNames);
|
|
}
|
|
|
|
export function generateRandomString(length: number): string {
|
|
const chars = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
|
let result = '';
|
|
for (let i = 0; i < length; i++) {
|
|
result += chars[Math.floor(Math.random() * chars.length)];
|
|
}
|
|
return result;
|
|
}
|
|
|
|
export function generateEmail(): string {
|
|
const timestamp = Date.now();
|
|
return `test_user_${timestamp}@mail.tm`;
|
|
}
|
|
|
|
export function generateLogin(): string {
|
|
return `user_${generateRandomString(6)}`;
|
|
}
|
|
|
|
export function generatePhone(): string {
|
|
const random = Math.floor(100000000 + Math.random() * 900000000); // 9 цифр
|
|
return `+790${random}`; // +79012345678
|
|
}
|