Files
at-digitaltwin/utils/userGenerator.ts
2026-01-26 17:50:18 +03:00

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
}