-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathgenerate_big_dataset.js
42 lines (37 loc) · 1.01 KB
/
generate_big_dataset.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
fs = require('fs');
DataFixture = require('datafixture.js');
var id = 0;
function getId() {
return id++;
}
function randomString(len, an){
an = an&&an.toLowerCase();
var str="", i=0, min=an=="a"?10:0, max=an=="n"?10:62;
for(;i++<len;){
var r = Math.random()*(max-min)+min <<0;
str += String.fromCharCode(r+=r>9?r<36?55:61:48);
}
return str;
}
var template = {
text: function () { return randomString(10) },
value: function () { return getId() },
children: {
'#': "0...15",
text: function () { return randomString(10) },
value: function () { return getId() },
children: {
'#': "0...10",
text: function () { return randomString(10) },
value: function () { return getId() },
children: {
'#': "0...5",
text: function () { return randomString(10) },
value: function () { return getId() }
}
}
}
};
var res = DataFixture.generate(template, 300);
console.log("Total number of objects is", id);
fs.writeFile("big_dataset.js", "var big_dataset = " + JSON.stringify(res, null, '\t') );