Files
at-digitaltwin/utils/userGenerator.ts

61 lines
2.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 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
}
export function generateShortOrgName(): string {
return `Организация_${generateRandomString(3)}`;
}
export function generateFullOrgName(): string {
return `ООО Организация_${generateRandomString(3)}`;
}
export function generateKPP(): string {
return Array.from({ length: 9 }, () => Math.floor(Math.random() * 10)).join("");
}
export function generateINN(): string {
return Array.from({ length: 10 }, () => Math.floor(Math.random() * 10)).join("");
}