-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
108 lines (90 loc) · 2.68 KB
/
index.js
File metadata and controls
108 lines (90 loc) · 2.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
require("shelljs/global");
var path = require("path");
var fs = require("fs");
var readlineSync = require('readline-sync');
var _ = require("lodash");
var moment = require("moment");
var data = require("./data/data-maka.json");
var options = require("./options");
var names = require("./data/names");
var emails = require("./data/emails");
var dataSize = 1,
dataArr = [],
days = 30;
//Load all names once
var firstNames = names.firstNames();
var lastNames = names.lastNames();
var optsArr = options.argv._;
var keyVals = options.argv;
// If the user didn't specify the number of objects, prompt for that info...
if (!options.argv.objs) {
var ok = readlineSync.keyInYN('You didn\'t specify how many JSON objects you require. The default is 1 JSON object. Is this ok? ');
if (!ok) {
objs = readlineSync.question('How many JSON objects would you like? ');
checkNaN(objs);
}
} else {
dataSize = options.argv.objs;
}
function checkNaN(num) {
if(isNaN(num)) {
var objs = readlineSync.question('Error: Please enter a valid number: ');
checkNaN(objs);
} else {
dataSize = num;
}
}
if (_.has(keyVals, 'date')) {
addDates();
}
function addDates() {
var obj = {};
days = _.get(keyVals, 'date')
var endDate = moment();
var startDate = moment().subtract(30, "days");
var dates = [];
var currDate = startDate.clone().startOf('day');
var lastDate = endDate.clone().startOf('day');
while(currDate.add('days', 1).diff(lastDate) < 0) {
dates.push(currDate.clone().format("DD-MM-YYYY")); // add user formatting
}
obj.date = dates;
echo(obj);
}
_.times(dataSize, function(i) {
var dataObj = {};
dataObj.id = i+1;
checkArgsArr(dataObj);
});
function checkArgsArr(dataObj) {
if (optsArr.indexOf('name') > -1 && optsArr.indexOf('email') < 0) {
getNames(dataObj);
}
if (optsArr.indexOf('name') < 0 && optsArr.indexOf('email') > -1) {
getEmails(dataObj);
}
if (optsArr.indexOf('name') > -1 && optsArr.indexOf('email') > -1) {
getNames(dataObj, true);
}
if (optsArr.indexOf('date')) {
}
};
function getNames(dataObj, emails) {
dataObj.name = _.sample(firstNames) + ' ' + _.sample(lastNames);
if(emails){
var name = dataObj.name.split(' ')[0].toLowerCase();
getEmails(dataObj, name);
}
}
function getEmails(dataObj, name) {
if (name) {
dataObj.email = name + _.sample(emails.emailStems());
} else {
dataObj.email = _.sample(firstNames).toLowerCase() + _.sample(emails.emailStems());
}
echo(dataObj);
dataArr.push(dataObj);
echo(dataArr);
}
function emailsAndNames(dataObj) {
}