import Email from "../Types/Email";
import Name from "../Types/Name";
import ObjectID from "../Types/ObjectID";
import Phone from "../Types/Phone";
import { faker } from "@faker-js/faker";
export default class Faker {
    static generateRandomString(length) {
        return faker.string.alphanumeric(length || 10);
    }
    static getNumberBetweenMinAndMax(data) {
        // pick a random number between min and max
        return Math.floor(Math.random() * (data.max - data.min + 1) + data.min);
    }
    static generateName() {
        return faker.string.alphanumeric(10);
    }
    static generateCompanyName() {
        return faker.company.name();
    }
    static generateRandomObjectID() {
        return ObjectID.generate();
    }
    static getRandomNumbers(count) {
        const randomNumbers = [];
        for (let i = 0; i < count; i++) {
            // pick a random number between 1 and 9
            randomNumbers.push(Math.floor(Math.random() * 9) + 1);
        }
        return parseInt(randomNumbers.join(""));
    }
    static generateUserFullName() {
        return new Name(faker.person.fullName());
    }
    static generateEmail() {
        return new Email(faker.internet.email());
    }
    static generatePhone() {
        return new Phone(this.getRandomNumbers(10).toString());
    }
}
//# sourceMappingURL=Faker.js.map