aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/unique.js26
1 files changed, 24 insertions, 2 deletions
diff --git a/lib/unique.js b/lib/unique.js
index 4422a942..70d038fa 100644
--- a/lib/unique.js
+++ b/lib/unique.js
@@ -5,12 +5,34 @@ var uniqueExec = require('../vendor/unique');
*/
function Unique (faker) {
+ // initialize unique module class variables
+
+ // maximum time unique.exec will attempt to run before aborting
+ var maxTime = 10;
+
+ // maximum retries unique.exec will recurse before abortings ( max loop depth )
+ var maxRetries = 10;
+
+ // time the script started
+ // var startTime = 0;
+
/**
* unique
*
* @method unique
*/
- this.unique = uniqueExec.exec;
+ this.unique = function unique (method, args, opts) {
+ opts = opts || {};
+ opts.startTime = new Date().getTime();
+ if (typeof opts.maxTime !== 'number') {
+ opts.maxTime = maxTime;
+ }
+ if (typeof opts.maxRetries !== 'number') {
+ opts.maxRetries = maxRetries;
+ }
+ opts.currentIterations = 0;
+ return uniqueExec.exec(method, args, opts);
+ }
}
-module['exports'] = Unique;
+module['exports'] = Unique; \ No newline at end of file