aboutsummaryrefslogtreecommitdiff
path: root/examples/node/unique-values.js
diff options
context:
space:
mode:
Diffstat (limited to 'examples/node/unique-values.js')
-rw-r--r--examples/node/unique-values.js29
1 files changed, 29 insertions, 0 deletions
diff --git a/examples/node/unique-values.js b/examples/node/unique-values.js
new file mode 100644
index 00000000..3c346612
--- /dev/null
+++ b/examples/node/unique-values.js
@@ -0,0 +1,29 @@
+var faker = require('../../index');
+
+var emails = {};
+var conflicts = 0;
+// emails estimated: 1,055,881
+// full names estimated: 1,185,139
+for (var i = 0; i < 100000; i++) {
+
+ // call function with no arguments
+ var email = faker.unique(faker.internet.email);
+
+ // or with function arguments as argument array
+ // var email = faker.unique(faker.internet.email, [null, null, 'marak.com']);
+
+ // or with custom options for maxTime as milliseconds or maxRetries
+ // var email = faker.unique(faker.internet.email, [null, null, 'marak.com'], { maxRetries: 1, maxTime: 50 });
+
+ if (typeof emails[email] === 'undefined') {
+ // found a unique new item
+ emails[email] = true;
+ } else {
+ // found a conflicting item ( should not happen using faker.unique() )
+ conflicts++;
+ }
+}
+console.log('total conflicts', conflicts); // should be zero using faker.unique()
+console.log('total uniques generated', Object.keys(emails).length);
+
+// console.log(emails); \ No newline at end of file