[FakePersonGenerator] - модуль для создания случайно несуществующей личности

Делитесь модулями
  • @GhostZ Пограничный случай с датой рождения равной minYear даст лишний год, надо день добавить.

  • @UserTrue, исправил

  • Подожду пару билдов и можно качать)

  • Вариант с возможным днем рождения в текущий день и соблюдением возраста, minAge - минимальный возраст, maxAge - максимальный возраст, age - итоговый возраст, birthDate - итоговая дата рождения

    var minAge = 18;
    var maxAge = 45;
    var dayMilSec = 24 * 60 * 60 * 1000;
    var tempDate = new Date();
    var nowYear = tempDate.getFullYear();
    var minYear = nowYear - maxAge - 1;
    var maxYear = nowYear - minAge;
    var minMilSec = tempDate.setFullYear(minYear) + dayMilSec;
    var maxMilSec = tempDate.setFullYear(maxYear) - dayMilSec;
    var birthDate = new Date(rand(minMilSec, maxMilSec));
    var age = nowYear - birthDate.getFullYear();
    var monthDiff = tempDate.getMonth() - birthDate.getMonth();
    if(monthDiff < 0 || (monthDiff === 0 && tempDate.getDate() < birthDate.getDate())){
        age--;
    };
    
  • @GhostZ спасибо, я изучу. Мой вариант тоже работает, хоть с лишними действиями.

    А тем временем....
    Накидали уже в тг хотелок тоже, то ники передачу как основу генерки, то пароль из части ника, то Японию добавь...

  • @FastSpace, тут дело не только в наличии лишних действий, например текущая реализация не позволяет генерировать день рожденья 29 февраля, а такое возможно, так же на максимальный возраст шанс меньше чем на другие, и есть шанс получить возраст меньше указанного

    debf6c79-0403-4535-af08-9af45f8f5eee-image.png
    95d1bec5-1f65-4d5c-be6e-21efc7d34615-image.png

  • @GhostZ said in [FakePersonGenerator] - модуль для создания случайно несуществующей личности:

    @FastSpace, например текущая реализация не позволяет генерировать день рожденья 29 февраля

    Невелика потеря

    @FastSpace, так же на максимальный возраст шанс меньше чем на другие.

    Затачивал в основном на диапазон, поправлю думаю тож

    @FastSpace, есть шанс получить возраст меньше указанного

    Это я поправлю, но так тоже мало кто страдает фигней. Сгенерить только 18, я такое фиксил в нике и пароле, на возраст пофигу.

  • Подъехал патч 1.1:

    • Теперь возраст и дата рождения генерируется по совету @GhostZ. Исправлен баг когда минимальное и максимальное значение могли дать меньше на год возраст. Пришлось доделать его решение, чтоб выдало как задумано в модуле.
    • Теперь можно убирать спец. символы из логина. Внимание! Не рекомендую этого делать, лучше оставить хотя бы 1 такой символ. Логика генерации никнейма хорошо заточена и под такие символы. Например никнеймы TheCrazyMen_92.
    • Новая фича: Передать собственные (кастомные) никнеймы в модуль и на основе их создать никнейм. Взять их можно например из слитой базы данных почт или спарсить даже с этого форума))) Респект за идею человеку из телеграма, я всё не очень хотел грузить миллионы ников в массив. Также это решает проблемы, когда например было сгенерировано имя и фамилия "Виктор Наумов", а никнейм nikita92. У меня нет желания перебирать массив и искать таких "Никит". Поэтому можете сделать теперь это сами в кастомном никнейме.
    • Новая страна для имён и фамилий - Япония.

    Обновил исходник и модуль.

  • Great work. Was long waiting for such a module. Thank you very much @FastSpace

  • Версия 1.2

    • Username с датой рождения уменьшил шанс генерации.
    • Правки текста.
    • Создал тему для буржуев.

    Обновил модуль и исходник. Потом руки дойдут выдерну отсюда https://github.com/faker-js/faker остальные данные.

  • Было бы вообще чудесно, если б в BAS и модули автоматом обновляло, чтоб не перекачивать каждый раз.

  • Спасибо за модуль. Было бы не плохо если добавили возможность назначать тип поля expression

  • @Lamar для себя могли бы подправить модуль сами под свои хотелки.

  • @Lamar в каком действии и какое поле?

  • @tet-vivi Для себя я сделал

  • @FastSpace Во всех действиях. Пример при получении никнейма, по сути есть возможность указать год рождения 1 раз при написании скрипта. Либо юзать доп переменную перед действием
    Screenshot_1.png

  • @Lamar Годная идея, но всех не получится. Сделаю там где это возможно.

  • @FastSpace Добавьте везде, кто не шарит все равно не будут юзать. В том же поле "собственные никнеймы" я юзаю небольшой код из firstname, surname, birthday в добавок к вашему модулю и генерю строку

  • Вообще кст поле expression ставиться всегда при установлении переменной, какое бы не было значение поля. Щас только понял опытным путем)

  • Есть возможность при генерации имени/фамилии добавить вариант ALL, чтобы брались имена/фамилии из всех предложенных ГЕО?