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
JavaScript
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
;