UNPKG

random-profile-generator

Version:

Generates a random user profile with all the common user profile items such as name, address, profile image etc.

148 lines (113 loc) 3.63 kB
'use strict'; var _chance = require('chance'); var _chance2 = _interopRequireDefault(_chance); var _moment = require('moment'); var _moment2 = _interopRequireDefault(_moment); var _uniqueRandomArray = require('unique-random-array'); var _uniqueRandomArray2 = _interopRequireDefault(_uniqueRandomArray); var _names = require('../data/names.json'); var _names2 = _interopRequireDefault(_names); var _addresses = require('../data/addresses.json'); var _addresses2 = _interopRequireDefault(_addresses); var _maleNames = require('../data/maleNames.json'); var _maleNames2 = _interopRequireDefault(_maleNames); var _femaleNames = require('../data/femaleNames.json'); var _femaleNames2 = _interopRequireDefault(_femaleNames); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var chance = new _chance2.default(); var avatarBase = 'https://api.adorable.io/avatars/200/'; function name(gender) { var name = (0, _uniqueRandomArray2.default)(_names2.default)(); if (!gender) { return name; } else if (gender.toUpperCase() === 'MALE') { name = (0, _uniqueRandomArray2.default)(_maleNames2.default)(); } else if (gender.toUpperCase() === 'FEMALE') { name = (0, _uniqueRandomArray2.default)(_femaleNames2.default)(); } return name; } function address() { return (0, _uniqueRandomArray2.default)(_addresses2.default)(); } function profile(gender) { var profile = {}; var fullName = name(gender); var profileGender = chance.gender(); var bDay = (0, _moment2.default)(chance.birthday()); var today = (0, _moment2.default)(new Date()); if (!gender) { profileGender = chance.gender(); } else if (gender.toUpperCase() === 'MALE') { profileGender = 'Male'; } else if (gender.toUpperCase() === 'FEMALE') { profileGender = 'Female'; } profile.id = chance.guid(); profile.fullName = fullName; profile.firstName = fullName.split(' ')[0]; profile.lastName = fullName.split(' ')[1]; profile.gender = profileGender; profile.birthday = bDay.format('MMM Do[,] YYYY'); profile.age = today.diff(bDay, 'years'); profile.avatar = avatarBase + fullName.replace(/ /g, '-'); profile.address = (0, _uniqueRandomArray2.default)(_addresses2.default)(); var addressParts = profile.address.split(' '); profile.zip = addressParts[addressParts.length - 1]; profile.state = addressParts[addressParts.length - 2]; profile.phone = chance.phone(); profile.email = chance.email(); profile.twitter = chance.twitter(); profile.ssn = chance.ssn(); return profile; } function age() { return chance.age(); } function birthday() { return (0, _moment2.default)(chance.birthday()).format('MMM Do[,] YYYY'); } function avatar() { return avatarBase + (0, _uniqueRandomArray2.default)(_names2.default)().replace(/ /g, '-'); } function phone() { return chance.phone(); } function email() { return chance.email(); } function twitter() { return chance.twitter(); } function ssn() { return chance.ssn(); } function gender() { return chance.gender(); } function zip() { return chance.zip(); } function state() { return chance.state(); } function guid() { return chance.guid(); } module.exports = { profile: profile, name: name, gender: gender, address: address, zip: zip, state: state, birthday: birthday, age: age, avatar: avatar, phone: phone, email: email, twitter: twitter, ssn: ssn, guid: guid }; //# sourceMappingURL=index.js.map