aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMarak <[email protected]>2014-09-11 18:24:06 +0200
committerMarak <[email protected]>2014-09-11 18:28:30 +0200
commit14b42846fef60bb0d1493a561d0b9aaa40a95bfc (patch)
tree112a8fa8950553983ed098f7460482c1302a46a4 /lib
parent198032b5d37a4882fc7d19d273475bb087685f2e (diff)
downloadfaker-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.js6
-rw-r--r--lib/company.js2
-rw-r--r--lib/helpers.js4
-rw-r--r--lib/internet.js4
-rw-r--r--lib/random.js35
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];
},