-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathindex.js
101 lines (97 loc) · 2.25 KB
/
index.js
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
var _ = require('lodash');
var image = require('dyson-image');
var data = {
alpha: 'abcdefghijklmnopqrstuvwxyz'.split(''),
name: [
'John',
'David',
'Jack',
'Aaron',
'Harry',
'Oliver',
'Charlie',
'Amelia',
'Olivia',
'Lily',
'Jessica',
'Emily',
'Sophie',
'Grace'
],
city: [
'London',
'Los Angeles',
'Moscow',
'Beijing',
'Buenos Aires',
'Cairo',
'Istanbul',
'Jakarta',
'Tokyo',
'Seoul',
'Mumbai',
'Shanghai',
'Mexico City'
],
lorem: 'lorem ipsum dolor sit amet consectetur adipiscing elit morbi porttitor nunc neque suspendisse vitae velit eu odio pulvinar facilisis consequat et urna pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas donec ut justo turpis praesent sollicitudin diam convallis aliquet scelerisque ante urna lacinia lacus vel'.split(
' '
)
};
var pickRandom = function(list) {
return list[_.random(list.length - 1)];
};
var generators = {
id: function() {
return _.uniqueId();
},
random: _.random,
name: function() {
return pickRandom(data.name);
},
lorem: {
short: function() {
return _.range(6)
.map(function() {
return pickRandom(data.lorem);
})
.join(' ');
}
},
address: {
city: function() {
return pickRandom(data.city);
},
zipUS: function() {
return '' + _.random(10000, 99999);
},
zipNL: function() {
return _.random(1000, 9999) + ' ' + (pickRandom(data.alpha) + pickRandom(data.alpha)).toUpperCase();
}
},
time: {
quarter: function() {
return pickRandom([0, 15, 30, 45]);
},
hour: function() {
return _.random(23);
},
byQuarter: function() {
return ('0' + generators.time.hour()).slice(-2) + ':' + ('0' + generators.time.quarter()).slice(-2);
}
},
image: {
base64: function(options) {
return new Promise(function(resolve) {
image.request(options).then(
function(image) {
resolve('data:' + image.mimeType + ';base64,' + image.buffer.toString('base64'));
},
function(error) {
resolve(error.message);
}
);
});
}
}
};
module.exports = generators;