diff options
| author | Marak <[email protected]> | 2014-09-11 18:24:06 +0200 |
|---|---|---|
| committer | Marak <[email protected]> | 2014-09-11 18:28:30 +0200 |
| commit | 14b42846fef60bb0d1493a561d0b9aaa40a95bfc (patch) | |
| tree | 112a8fa8950553983ed098f7460482c1302a46a4 /lib | |
| parent | 198032b5d37a4882fc7d19d273475bb087685f2e (diff) | |
| download | faker-14b42846fef60bb0d1493a561d0b9aaa40a95bfc.tar.xz faker-14b42846fef60bb0d1493a561d0b9aaa40a95bfc.zip | |
[api] [refactor] Replaced Math.Random calls with Random.number. Random ranges are now inclusive of max instead of exclusive. #88 #48
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/address.js | 6 | ||||
| -rw-r--r-- | lib/company.js | 2 | ||||
| -rw-r--r-- | lib/helpers.js | 4 | ||||
| -rw-r--r-- | lib/internet.js | 4 | ||||
| -rw-r--r-- | lib/random.js | 35 |
5 files changed, 37 insertions, 14 deletions
diff --git a/lib/address.js b/lib/address.js index 892f03c7..aba08976 100644 --- a/lib/address.js +++ b/lib/address.js @@ -13,7 +13,7 @@ var address = { city: function () { var result; - switch (faker.random.number(4)) { + switch (faker.random.number(3)) { case 0: result = faker.random.city_prefix() + " " + faker.random.first_name() + faker.random.city_suffix(); break; @@ -32,7 +32,7 @@ var address = { streetName: function () { var result; - switch (faker.random.number(2)) { + switch (faker.random.number(1)) { case 0: result = faker.random.last_name() + " " + faker.random.street_suffix(); break; @@ -49,7 +49,7 @@ var address = { streetAddress: function (useFullAddress) { if (useFullAddress === undefined) { useFullAddress = false; } var address = ""; - switch (faker.random.number(3)) { + switch (faker.random.number(2)) { case 0: address = Helpers.replaceSymbolWithNumber("#####") + " " + faker.Address.streetName(); break; diff --git a/lib/company.js b/lib/company.js index 1a024c96..e2c9d57c 100644 --- a/lib/company.js +++ b/lib/company.js @@ -6,7 +6,7 @@ var company = { }, companyName: function (format) { - switch ((format ? format : faker.random.number(3))) { + switch ((format ? format : faker.random.number(2))) { case 0: return faker.Name.lastName() + " " + faker.Company.companySuffix(); case 1: diff --git a/lib/helpers.js b/lib/helpers.js index 4dda368a..7d146c8d 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -25,7 +25,7 @@ exports.replaceSymbolWithNumber = function (string, symbol) { var str = ''; for (var i = 0; i < string.length; i++) { if (string[i] == symbol) { - str += Math.floor(Math.random() * 10); + str += faker.random.number(9); } else { str += string[i]; } @@ -35,7 +35,7 @@ exports.replaceSymbolWithNumber = function (string, symbol) { // takes an array and returns it randomized exports.shuffle = function (o) { - for (var j, x, i = o.length; i; j = parseInt(Math.random() * i, 10), x = o[--i], o[i] = o[j], o[j] = x); + for (var j, x, i = o.length; i; j = faker.random.number(i), x = o[--i], o[i] = o[j], o[j] = x); return o; }; diff --git a/lib/internet.js b/lib/internet.js index e991b614..41065538 100644 --- a/lib/internet.js +++ b/lib/internet.js @@ -7,7 +7,7 @@ var internet = { userName: function () { var result; - switch (faker.random.number(2)) { + switch (faker.random.number(1)) { case 0: result = faker.random.first_name(); break; @@ -28,7 +28,7 @@ var internet = { ip: function () { var randNum = function () { - return (Math.random() * 254 + 1).toFixed(0); + return (faker.random.number(255)).toFixed(0); }; var result = []; diff --git a/lib/random.js b/lib/random.js index 7e8cca37..027d6eb5 100644 --- a/lib/random.js +++ b/lib/random.js @@ -3,17 +3,40 @@ var faker = require('../index'); var random = { // returns a single random number based on a max number or range - number: function (min, max) { - if (max === undefined) { - max = min; - min = 0; + number: function (options) { + + if (typeof options === "number") { + var options = { + max: options + }; + } + + options = options || { + min: 0, + max: 1, + precision: 1 + }; + + if (typeof options.min === "undefined") { + options.min = 0; + } + + if (typeof options.max === "undefined") { + options.max = 1; + } + + // by incrementing max by 1, max becomes inclusive of the range + if(options.max > 0) { + options.max++; } - return Math.floor((Math.random() * max) + min); + + return Math.floor(Math.random() * (options.max - options.min)) + options.min; + }, // takes an array and returns the array randomly sorted array_element: function (array) { - var r = Math.floor(Math.random() * array.length); + var r = faker.random.number({ max: array.length -1 }); return array[r]; }, |
