aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorLBuerstmayr <[email protected]>2021-03-01 22:46:26 +0100
committerMarak <[email protected]>2021-03-03 20:14:45 -0500
commit7ad22c2e2aae2f5e6215bcdb91cf3fd28e727d92 (patch)
tree03941188e92583a105c8ef17fde438fb1b52bdcf /lib
parent58c61afb1b8baa160add593e5af7c110de011968 (diff)
downloadfaker-7ad22c2e2aae2f5e6215bcdb91cf3fd28e727d92.tar.xz
faker-7ad22c2e2aae2f5e6215bcdb91cf3fd28e727d92.zip
Issue 1114: New datatype module
Current status: - moved number(), float(), hexaDecimal(), boolean(), uuid() from random to datatype - moved respective test from random.unit to datatype.unit - tests of moved methods in random now check if DeprecationWarning is printed and respective method in datatype module is called - adapted all lib files that use moved methods (mostly number) - adapted tests of respective files to spy on the correct method - adapted README in order to promote usage of method that logs a DeprecationWarning
Diffstat (limited to 'lib')
-rw-r--r--lib/address.js12
-rw-r--r--lib/commerce.js2
-rw-r--r--lib/company.js2
-rw-r--r--lib/datatype.js78
-rw-r--r--lib/date.js10
-rw-r--r--lib/finance.js23
-rw-r--r--lib/git.js2
-rw-r--r--lib/helpers.js14
-rw-r--r--lib/image.js2
-rw-r--r--lib/image_providers/lorempixel.js2
-rw-r--r--lib/index.js4
-rw-r--r--lib/internet.js20
-rw-r--r--lib/lorem.js8
-rw-r--r--lib/name.js12
-rw-r--r--lib/random.js75
-rw-r--r--lib/system.js6
-rw-r--r--lib/vehicle.js6
17 files changed, 95 insertions, 183 deletions
diff --git a/lib/address.js b/lib/address.js
index 29a0653a..810424a6 100644
--- a/lib/address.js
+++ b/lib/address.js
@@ -39,7 +39,7 @@ function Address (faker) {
this.zipCodeByState = function (state) {
var zipRange = faker.definitions.address.postcode_by_state[state];
if (zipRange) {
- return faker.random.number(zipRange);
+ return faker.datatype.number(zipRange);
}
return faker.address.zipCode();
}
@@ -73,7 +73,7 @@ function Address (faker) {
}
if (typeof format !== "number") {
- format = faker.random.number(formats.length - 1);
+ format = faker.datatype.number(formats.length - 1);
}
return f(formats[format]);
@@ -118,7 +118,7 @@ function Address (faker) {
suffix = " " + suffix
}
- switch (faker.random.number(1)) {
+ switch (faker.datatype.number(1)) {
case 0:
result = faker.name.lastName() + suffix;
break;
@@ -141,7 +141,7 @@ function Address (faker) {
this.streetAddress = function (useFullAddress) {
if (useFullAddress === undefined) { useFullAddress = false; }
var address = "";
- switch (faker.random.number(2)) {
+ switch (faker.datatype.number(2)) {
case 0:
address = Helpers.replaceSymbolWithNumber("#####") + " " + faker.address.streetName();
break;
@@ -257,7 +257,7 @@ function Address (faker) {
min = min || -90
precision = precision || 4
- return faker.random.number({
+ return faker.datatype.number({
max: max,
min: min,
precision: parseFloat((0.0).toPrecision(precision) + '1')
@@ -277,7 +277,7 @@ function Address (faker) {
min = min || -180
precision = precision || 4
- return faker.random.number({
+ return faker.datatype.number({
max: max,
min: min,
precision: parseFloat((0.0).toPrecision(precision) + '1')
diff --git a/lib/commerce.js b/lib/commerce.js
index 6de8ffb9..d5f95e52 100644
--- a/lib/commerce.js
+++ b/lib/commerce.js
@@ -55,7 +55,7 @@ var Commerce = function (faker) {
return symbol + 0.00;
}
- var randValue = faker.random.number({ max: max, min: min });
+ var randValue = faker.datatype.number({ max: max, min: min });
return symbol + (Math.round(randValue * Math.pow(10, dec)) / Math.pow(10, dec)).toFixed(dec);
};
diff --git a/lib/company.js b/lib/company.js
index d16689e2..d2678b4d 100644
--- a/lib/company.js
+++ b/lib/company.js
@@ -32,7 +32,7 @@ var Company = function (faker) {
];
if (typeof format !== "number") {
- format = faker.random.number(formats.length - 1);
+ format = faker.datatype.number(formats.length - 1);
}
return f(formats[format]);
diff --git a/lib/datatype.js b/lib/datatype.js
index 0a5228c0..fba728ab 100644
--- a/lib/datatype.js
+++ b/lib/datatype.js
@@ -1,25 +1,10 @@
var mersenne = require('../vendor/mersenne');
/**
- * Method to reduce array of characters
- * @param arr existing array of characters
- * @param values array of characters which should be removed
- * @return {*} new array without banned characters
- */
-var arrayRemove = function (arr, values) {
- values.forEach(function(value){
- arr = arr.filter(function(ele){
- return ele !== value;
- });
- });
- return arr;
-};
-
-/**
*
- * @namespace faker.dataType
+ * @namespace faker.datatype
*/
-function DataType (faker, seed) {
+function Datatype (faker, seed) {
// Use a user provided seed if it is an array or number
if (Array.isArray(seed) && seed.length) {
mersenne.seed_array(seed);
@@ -31,7 +16,7 @@ function DataType (faker, seed) {
/**
* returns a single random number based on a max number or range
*
- * @method faker.random.number
+ * @method faker.datatype.number
* @param {mixed} options {min, max, precision}
*/
this.number = function (options) {
@@ -73,7 +58,7 @@ function DataType (faker, seed) {
/**
* returns a single random floating-point number based on a max number or range
*
- * @method faker.random.float
+ * @method faker.datatype.float
* @param {mixed} options
*/
this.float = function (options) {
@@ -90,58 +75,29 @@ function DataType (faker, seed) {
if (typeof opts.precision === 'undefined') {
opts.precision = 0.01;
}
- return faker.random.number(opts);
- };
-
- /**
- * takes an array and returns a random element of the array
- *
- * @method faker.random.arrayElement
- * @param {array} array
- */
- this.arrayElement = function (array) {
- array = array || ["a", "b", "c"];
- var r = faker.random.number({ max: array.length - 1 });
- return array[r];
+ return faker.datatype.number(opts);
};
/**
- * takes an array and returns a subset with random elements of the array
+ * Similar to description of Date by MDN,
+ * this method uses a random number of milliseconds since 1. Jan 1970 UTC to return a Date object
*
- * @method faker.random.arrayElements
- * @param {array} array
- * @param {number} count number of elements to pick
+ * @method faker.datatype.date
*/
- this.arrayElements = function (array, count) {
- array = array || ["a", "b", "c"];
-
- if (typeof count !== 'number') {
- count = faker.random.number({ min: 1, max: array.length });
- } else if (count > array.length) {
- count = array.length;
- } else if (count < 0) {
- count = 0;
- }
-
- var arrayCopy = array.slice();
- var countToRemove = arrayCopy.length - count;
- for (var i = 0; i < countToRemove; i++) {
- var indexToRemove = faker.random.number({ max: arrayCopy.length - 1 });
- arrayCopy.splice(indexToRemove, 1);
- }
-
- return arrayCopy;
+ this.date = function () {
+ var random = faker.datatype.number({ min: 0, max: 8600000000000000 });
+ return new Date(random);
};
/**
* uuid
*
- * @method faker.random.uuid
+ * @method faker.datatype.uuid
*/
this.uuid = function () {
var RFC4122_TEMPLATE = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
var replacePlaceholders = function (placeholder) {
- var random = faker.random.number({ min: 0, max: 15 });
+ var random = faker.datatype.number({ min: 0, max: 15 });
var value = placeholder == 'x' ? random : (random &0x3 | 0x8);
return value.toString(16);
};
@@ -151,17 +107,17 @@ function DataType (faker, seed) {
/**
* boolean
*
- * @method faker.random.boolean
+ * @method faker.datatype.boolean
*/
this.boolean = function () {
- return !!faker.random.number(1)
+ return !!faker.datatype.number(1)
};
/**
* hexaDecimal
*
- * @method faker.random.hexaDecimal
+ * @method faker.datatype.hexaDecimal
* @param {number} count defaults to 1
*/
this.hexaDecimal = function hexaDecimal(count) {
@@ -181,4 +137,4 @@ function DataType (faker, seed) {
}
-module['exports'] = DataType;
+module['exports'] = Datatype;
diff --git a/lib/date.js b/lib/date.js
index 5a7626b4..38dfac9e 100644
--- a/lib/date.js
+++ b/lib/date.js
@@ -23,7 +23,7 @@ var _Date = function (faker) {
};
var past = date.getTime();
- past -= faker.random.number(range); // some time from now to N years ago, in milliseconds
+ past -= faker.datatype.number(range); // some time from now to N years ago, in milliseconds
date.setTime(past);
return date;
@@ -48,7 +48,7 @@ var _Date = function (faker) {
};
var future = date.getTime();
- future += faker.random.number(range); // some time from now to N years later, in milliseconds
+ future += faker.datatype.number(range); // some time from now to N years later, in milliseconds
date.setTime(future);
return date;
@@ -63,7 +63,7 @@ var _Date = function (faker) {
*/
self.between = function (from, to) {
var fromMilli = Date.parse(from);
- var dateOffset = faker.random.number(Date.parse(to) - fromMilli);
+ var dateOffset = faker.datatype.number(Date.parse(to) - fromMilli);
var newDate = new Date(fromMilli + dateOffset);
@@ -111,7 +111,7 @@ var _Date = function (faker) {
};
var future = date.getTime();
- future -= faker.random.number(range); // some time from now to N days ago, in milliseconds
+ future -= faker.datatype.number(range); // some time from now to N days ago, in milliseconds
date.setTime(future);
return date;
@@ -136,7 +136,7 @@ var _Date = function (faker) {
};
var future = date.getTime();
- future += faker.random.number(range); // some time from now to N days later, in milliseconds
+ future += faker.datatype.number(range); // some time from now to N days later, in milliseconds
date.setTime(future);
return date;
diff --git a/lib/finance.js b/lib/finance.js
index 43fe6710..f6818e33 100644
--- a/lib/finance.js
+++ b/lib/finance.js
@@ -109,7 +109,7 @@ var Finance = function (faker) {
max = max || 1000;
dec = dec === undefined ? 2 : dec;
symbol = symbol || '';
- const randValue = faker.random.number({ max: max, min: min, precision: Math.pow(10, -dec) });
+ const randValue = faker.datatype.number({ max: max, min: min, precision: Math.pow(10, -dec) });
let formattedString;
if(autoFormat) {
@@ -169,7 +169,7 @@ var Finance = function (faker) {
* @method faker.finance.bitcoinAddress
*/
self.bitcoinAddress = function () {
- var addressLength = faker.random.number({ min: 25, max: 34 });
+ var addressLength = faker.datatype.number({ min: 25, max: 34 });
var address = faker.random.arrayElement(['1', '3']);
@@ -185,7 +185,7 @@ var Finance = function (faker) {
* @method faker.finance.litecoinAddress
*/
self.litecoinAddress = function () {
- var addressLength = faker.random.number({ min: 26, max: 33 });
+ var addressLength = faker.datatype.number({ min: 26, max: 33 });
var address = faker.random.arrayElement(['L', 'M', '3']);
@@ -236,7 +236,7 @@ self.litecoinAddress = function () {
self.creditCardCVV = function() {
var cvv = "";
for (var i = 0; i < 3; i++) {
- cvv += faker.random.number({max:9}).toString();
+ cvv += faker.datatype.number({max:9}).toString();
}
return cvv;
};
@@ -247,8 +247,7 @@ self.litecoinAddress = function () {
* @method faker.finance.ethereumAddress
*/
self.ethereumAddress = function () {
- var address = faker.random.hexaDecimal(40).toLowerCase();
-
+ var address = faker.datatype.hexaDecimal(40).toLowerCase();
return address;
};
@@ -284,14 +283,14 @@ self.litecoinAddress = function () {
if (bban.type == "a") {
s += faker.random.arrayElement(ibanLib.alpha);
} else if (bban.type == "c") {
- if (faker.random.number(100) < 80) {
- s += faker.random.number(9);
+ if (faker.datatype.number(100) < 80) {
+ s += faker.datatype.number(9);
} else {
s += faker.random.arrayElement(ibanLib.alpha);
}
} else {
- if (c >= 3 && faker.random.number(100) < 30) {
- if (faker.random.boolean()) {
+ if (c >= 3 && faker.datatype.number(100) < 30) {
+ if (faker.datatype.boolean()) {
s += faker.random.arrayElement(ibanLib.pattern100);
c -= 2;
} else {
@@ -299,7 +298,7 @@ self.litecoinAddress = function () {
c--;
}
} else {
- s += faker.random.number(9);
+ s += faker.datatype.number(9);
}
}
c--;
@@ -321,7 +320,7 @@ self.litecoinAddress = function () {
*/
self.bic = function () {
var vowels = ["A", "E", "I", "O", "U"];
- var prob = faker.random.number(100);
+ var prob = faker.datatype.number(100);
return Helpers.replaceSymbols("???") +
faker.random.arrayElement(vowels) +
faker.random.arrayElement(ibanLib.iso3166) +
diff --git a/lib/git.js b/lib/git.js
index d431ea2d..e4a31a8e 100644
--- a/lib/git.js
+++ b/lib/git.js
@@ -30,7 +30,7 @@ var Git = function(faker) {
var entry = 'commit {{git.commitSha}}\r\n';
- if (options.merge || (faker.random.number({ min: 0, max: 4 }) === 0)) {
+ if (options.merge || (faker.datatype.number({ min: 0, max: 4 }) === 0)) {
entry += 'Merge: {{git.shortSha}} {{git.shortSha}}\r\n';
}
diff --git a/lib/helpers.js b/lib/helpers.js
index 3ab2e182..68e895e7 100644
--- a/lib/helpers.js
+++ b/lib/helpers.js
@@ -45,9 +45,9 @@ var Helpers = function (faker) {
var str = '';
for (var i = 0; i < string.length; i++) {
if (string.charAt(i) == symbol) {
- str += faker.random.number(9);
+ str += faker.datatype.number(9);
} else if (string.charAt(i) == "!"){
- str += faker.random.number({min: 2, max: 9});
+ str += faker.datatype.number({min: 2, max: 9});
} else {
str += string.charAt(i);
}
@@ -69,11 +69,11 @@ var Helpers = function (faker) {
for (var i = 0; i < string.length; i++) {
if (string.charAt(i) == "#") {
- str += faker.random.number(9);
+ str += faker.datatype.number(9);
} else if (string.charAt(i) == "?") {
str += faker.random.arrayElement(alpha);
} else if (string.charAt(i) == "*") {
- str += faker.random.boolean() ? faker.random.arrayElement(alpha) : faker.random.number(9);
+ str += faker.datatype.boolean() ? faker.random.arrayElement(alpha) : faker.datatype.number(9);
} else {
str += string.charAt(i);
}
@@ -161,7 +161,7 @@ var Helpers = function (faker) {
max = min;
min = tmp;
}
- repetitions = faker.random.number({min:min,max:max});
+ repetitions = faker.datatype.number({min:min,max:max});
string = string.slice(0,token.index) + faker.helpers.repeatString(token[1], repetitions) + string.slice(token.index+token[0].length);
token = string.match(RANGE_REP_REG);
}
@@ -186,7 +186,7 @@ var Helpers = function (faker) {
min = tmp;
}
string = string.slice(0,token.index) +
- faker.random.number({min:min, max:max}).toString() +
+ faker.datatype.number({min:min, max:max}).toString() +
string.slice(token.index+token[0].length);
token = string.match(RANGE_REG);
}
@@ -207,7 +207,7 @@ var Helpers = function (faker) {
}
o = o || ["a", "b", "c"];
for (var x, j, i = o.length - 1; i > 0; --i) {
- j = faker.random.number(i);
+ j = faker.datatype.number(i);
x = o[i];
o[i] = o[j];
o[j] = x;
diff --git a/lib/image.js b/lib/image.js
index 3f50d78f..31ed30be 100644
--- a/lib/image.js
+++ b/lib/image.js
@@ -55,7 +55,7 @@ var Image = function (faker) {
}
if (randomize) {
- url += '?' + faker.random.number()
+ url += '?' + faker.datatype.number()
}
return url;
diff --git a/lib/image_providers/lorempixel.js b/lib/image_providers/lorempixel.js
index 9ebd5824..40c4efb7 100644
--- a/lib/image_providers/lorempixel.js
+++ b/lib/image_providers/lorempixel.js
@@ -46,7 +46,7 @@ var Lorempixel = function (faker) {
}
if (randomize) {
- url += '?' + faker.random.number()
+ url += '?' + faker.datatype.number()
}
return url;
diff --git a/lib/index.js b/lib/index.js
index 25123e51..1f2ab0c5 100644
--- a/lib/index.js
+++ b/lib/index.js
@@ -104,8 +104,8 @@ function Faker (opts) {
var Music = require('./music');
self.music = new Music(self);
- var DataType = require('./datatype');
- self.datatype = new DataType(self);
+ var Datatype = require('./datatype');
+ self.datatype = new Datatype(self);
var _definitions = {
"name": ["first_name", "last_name", "prefix", "suffix", "binary_gender", "gender", "title", "male_prefix", "female_prefix", "male_first_name", "female_first_name", "male_middle_name", "female_middle_name", "male_last_name", "female_last_name"],
diff --git a/lib/internet.js b/lib/internet.js
index c332dfcd..4cbf5a1f 100644
--- a/lib/internet.js
+++ b/lib/internet.js
@@ -77,15 +77,15 @@ var Internet = function (faker) {
var result;
firstName = firstName || faker.name.firstName();
lastName = lastName || faker.name.lastName();
- switch (faker.random.number(2)) {
+ switch (faker.datatype.number(2)) {
case 0:
- result = firstName + faker.random.number(99);
+ result = firstName + faker.datatype.number(99);
break;
case 1:
result = firstName + faker.random.arrayElement([".", "_"]) + lastName;
break;
case 2:
- result = firstName + faker.random.arrayElement([".", "_"]) + lastName + faker.random.number(99);
+ result = firstName + faker.random.arrayElement([".", "_"]) + lastName + faker.datatype.number(99);
break;
}
result = result.toString().replace(/'/g, "");
@@ -212,7 +212,7 @@ var Internet = function (faker) {
*/
self.ip = function () {
var randNum = function () {
- return (faker.random.number(255)).toFixed(0);
+ return (faker.datatype.number(255)).toFixed(0);
};
var result = [];
@@ -260,7 +260,7 @@ var Internet = function (faker) {
* @method faker.internet.port
*/
self.port = function() {
- return faker.random.number({ min: 0, max: 65535 });
+ return faker.datatype.number({ min: 0, max: 65535 });
};
self.port.schema = {
@@ -295,9 +295,9 @@ var Internet = function (faker) {
baseGreen255 = baseGreen255 || 0;
baseBlue255 = baseBlue255 || 0;
// based on awesome response : http://stackoverflow.com/questions/43044/algorithm-to-randomly-generate-an-aesthetically-pleasing-color-palette
- var red = Math.floor((faker.random.number(256) + baseRed255) / 2);
- var green = Math.floor((faker.random.number(256) + baseGreen255) / 2);
- var blue = Math.floor((faker.random.number(256) + baseBlue255) / 2);
+ var red = Math.floor((faker.datatype.number(256) + baseRed255) / 2);
+ var green = Math.floor((faker.datatype.number(256) + baseGreen255) / 2);
+ var blue = Math.floor((faker.datatype.number(256) + baseBlue255) / 2);
var redStr = red.toString(16);
var greenStr = green.toString(16);
var blueStr = blue.toString(16);
@@ -348,7 +348,7 @@ var Internet = function (faker) {
}
for (i=0; i < 12; i++) {
- mac+= faker.random.number(15).toString(16);
+ mac+= faker.datatype.number(15).toString(16);
if (i%2==1 && i != 11) {
mac+=validSep;
}
@@ -408,7 +408,7 @@ var Internet = function (faker) {
pattern = consonant;
}
}
- n = faker.random.number(94) + 33;
+ n = faker.datatype.number(94) + 33;
char = String.fromCharCode(n);
if (memorable) {
char = char.toLowerCase();
diff --git a/lib/lorem.js b/lib/lorem.js
index c25234cb..f8d4fcef 100644
--- a/lib/lorem.js
+++ b/lib/lorem.js
@@ -47,7 +47,7 @@ var Lorem = function (faker) {
* @param {number} range
*/
self.sentence = function (wordCount, range) {
- if (typeof wordCount == 'undefined') { wordCount = faker.random.number({ min: 3, max: 10 }); }
+ if (typeof wordCount == 'undefined') { wordCount = faker.datatype.number({ min: 3, max: 10 }); }
// if (typeof range == 'undefined') { range = 7; }
// strange issue with the node_min_test failing for captialize, please fix and add faker.lorem.back
@@ -76,7 +76,7 @@ var Lorem = function (faker) {
* @param {string} separator defaults to `' '`
*/
self.sentences = function (sentenceCount, separator) {
- if (typeof sentenceCount === 'undefined') { sentenceCount = faker.random.number({ min: 2, max: 6 });}
+ if (typeof sentenceCount === 'undefined') { sentenceCount = faker.datatype.number({ min: 2, max: 6 });}
if (typeof separator == 'undefined') { separator = " "; }
var sentences = [];
for (sentenceCount; sentenceCount > 0; sentenceCount--) {
@@ -93,7 +93,7 @@ var Lorem = function (faker) {
*/
self.paragraph = function (sentenceCount) {
if (typeof sentenceCount == 'undefined') { sentenceCount = 3; }
- return faker.lorem.sentences(sentenceCount + faker.random.number(3));
+ return faker.lorem.sentences(sentenceCount + faker.datatype.number(3));
};
/**
@@ -134,7 +134,7 @@ var Lorem = function (faker) {
* @param {number} lineCount defaults to a random number between 1 and 5
*/
self.lines = function lines (lineCount) {
- if (typeof lineCount === 'undefined') { lineCount = faker.random.number({ min: 1, max: 5 });}
+ if (typeof lineCount === 'undefined') { lineCount = faker.datatype.number({ min: 1, max: 5 });}
return faker.lorem.sentences(lineCount, '\n')
};
diff --git a/lib/name.js b/lib/name.js
index 3d42cb10..053e3a01 100644
--- a/lib/name.js
+++ b/lib/name.js
@@ -27,7 +27,7 @@ function Name (faker) {
if (typeof gender !== 'number') {
if(typeof faker.definitions.name.first_name === "undefined") {
- gender = faker.random.number(1);
+ gender = faker.datatype.number(1);
}
else {
//Fall back to non-gendered names if they exist and gender wasn't specified
@@ -55,7 +55,7 @@ function Name (faker) {
// some locale datasets ( like ru ) have last_name split by gender. i have no idea how last names can have genders, but also i do not speak russian
// see above comment of firstName method
if (typeof gender !== 'number') {
- gender = faker.random.number(1);
+ gender = faker.datatype.number(1);
}
if (gender === 0) {
return faker.random.arrayElement(faker.locales[faker.locale].name.male_last_name);
@@ -76,7 +76,7 @@ function Name (faker) {
this.middleName = function (gender) {
if (typeof faker.definitions.name.male_middle_name !== "undefined" && typeof faker.definitions.name.female_middle_name !== "undefined") {
if (typeof gender !== 'number') {
- gender = faker.random.number(1);
+ gender = faker.datatype.number(1);
}
if (gender === 0) {
return faker.random.arrayElement(faker.locales[faker.locale].name.male_middle_name);
@@ -97,12 +97,12 @@ function Name (faker) {
* @memberof faker.name
*/
this.findName = function (firstName, lastName, gender) {
- var r = faker.random.number(8);
+ var r = faker.datatype.number(8);
var prefix, suffix;
// in particular locales first and last names split by gender,
// thus we keep consistency by passing 0 as male and 1 as female
if (typeof gender !== 'number') {
- gender = faker.random.number(1);
+ gender = faker.datatype.number(1);
}
firstName = firstName || faker.name.firstName(gender);
lastName = lastName || faker.name.lastName(gender);
@@ -158,7 +158,7 @@ function Name (faker) {
this.prefix = function (gender) {
if (typeof faker.definitions.name.male_prefix !== "undefined" && typeof faker.definitions.name.female_prefix !== "undefined") {
if (typeof gender !== 'number') {
- gender = faker.random.number(1);
+ gender = faker.datatype.number(1);
}
if (gender === 0) {
return faker.random.arrayElement(faker.locales[faker.locale].name.male_prefix);
diff --git a/lib/random.js b/lib/random.js
index 5c585236..5b4eebac 100644
--- a/lib/random.js
+++ b/lib/random.js
@@ -29,68 +29,27 @@ function Random (faker, seed) {
}
/**
+ * @Deprecated
* returns a single random number based on a max number or range
*
* @method faker.random.number
* @param {mixed} options {min, max, precision}
*/
this.number = function (options) {
-
- if (typeof options === "number") {
- options = {
- max: options
- };
- }
-
- options = options || {};
-
- if (typeof options.min === "undefined") {
- options.min = 0;
- }
-
- if (typeof options.max === "undefined") {
- options.max = 99999;
- }
- if (typeof options.precision === "undefined") {
- options.precision = 1;
- }
-
- // Make the range inclusive of the max value
- var max = options.max;
- if (max >= 0) {
- max += options.precision;
- }
-
- var randomNumber = Math.floor(
- mersenne.rand(max / options.precision, options.min / options.precision));
- // Workaround problem in Float point arithmetics for e.g. 6681493 / 0.01
- randomNumber = randomNumber / (1 / options.precision);
-
- return randomNumber;
-
+ console.log("DeprecationWarning: Method is now located in faker.datatype.number");
+ return faker.datatype.number(options);
};
/**
+ * @Deprecated
* returns a single random floating-point number based on a max number or range
*
* @method faker.random.float
* @param {mixed} options
*/
this.float = function (options) {
- if (typeof options === "number") {
- options = {
- precision: options
- };
- }
- options = options || {};
- var opts = {};
- for (var p in options) {
- opts[p] = options[p];
- }
- if (typeof opts.precision === 'undefined') {
- opts.precision = 0.01;
- }
- return faker.random.number(opts);
+ console.log("DeprecationWarning: Method is now located in faker.datatype.float");
+ return faker.datatype.float(options);
};
/**
@@ -101,7 +60,7 @@ function Random (faker, seed) {
*/
this.arrayElement = function (array) {
array = array || ["a", "b", "c"];
- var r = faker.random.number({ max: array.length - 1 });
+ var r = faker.datatype.number({ max: array.length - 1 });
return array[r];
};
@@ -116,7 +75,7 @@ function Random (faker, seed) {
array = array || ["a", "b", "c"];
if (typeof count !== 'number') {
- count = faker.random.number({ min: 1, max: array.length });
+ count = faker.datatype.number({ min: 1, max: array.length });
} else if (count > array.length) {
count = array.length;
} else if (count < 0) {
@@ -126,7 +85,7 @@ function Random (faker, seed) {
var arrayCopy = array.slice();
var countToRemove = arrayCopy.length - count;
for (var i = 0; i < countToRemove; i++) {
- var indexToRemove = faker.random.number({ max: arrayCopy.length - 1 });
+ var indexToRemove = faker.datatype.number({ max: arrayCopy.length - 1 });
arrayCopy.splice(indexToRemove, 1);
}
@@ -149,18 +108,14 @@ function Random (faker, seed) {
};
/**
+ * @Deprecated
* uuid
*
* @method faker.random.uuid
*/
this.uuid = function () {
- var RFC4122_TEMPLATE = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
- var replacePlaceholders = function (placeholder) {
- var random = faker.random.number({ min: 0, max: 15 });
- var value = placeholder == 'x' ? random : (random &0x3 | 0x8);
- return value.toString(16);
- };
- return RFC4122_TEMPLATE.replace(/[xy]/g, replacePlaceholders);
+ console.log("DeprecationWarning: Method is now located in faker.datatype.uuid");
+ return faker.datatype.uuid();
};
/**
@@ -169,7 +124,8 @@ function Random (faker, seed) {
* @method faker.random.boolean
*/
this.boolean = function () {
- return !!faker.random.number(1)
+ console.log("DeprecationWarning: Method is now located in faker.datatype.boolean");
+ return faker.datatype.boolean();
};
// TODO: have ability to return specific type of word? As in: noun, adjective, verb, etc
@@ -229,7 +185,7 @@ function Random (faker, seed) {
this.words = function randomWords (count) {
var words = [];
if (typeof count === "undefined") {
- count = faker.random.number({min:1, max: 3});
+ count = faker.datatype.number({min:1, max: 3});
}
for (var i = 0; i<count; i++) {
words.push(faker.random.word());
@@ -327,6 +283,7 @@ function Random (faker, seed) {
};
/**
+ * @Deprecated
* hexaDecimal
*
* @method faker.random.hexaDecimal
diff --git a/lib/system.js b/lib/system.js
index 1bfe1bfb..f3428271 100644
--- a/lib/system.js
+++ b/lib/system.js
@@ -151,9 +151,9 @@ function System (faker) {
* @method faker.system.semver
*/
this.semver = function () {
- return [faker.random.number(9),
- faker.random.number(9),
- faker.random.number(9)].join('.');
+ return [faker.datatype.number(9),
+ faker.datatype.number(9),
+ faker.datatype.number(9)].join('.');
}
}
diff --git a/lib/vehicle.js b/lib/vehicle.js
index 3a8fa7a5..7f1ae782 100644
--- a/lib/vehicle.js
+++ b/lib/vehicle.js
@@ -88,7 +88,7 @@ var Vehicle = function (faker) {
faker.random.alphaNumeric(10, {bannedChars:bannedChars}) +
faker.random.alpha({ count: 1, upcase: true ,bannedChars:bannedChars}) +
faker.random.alphaNumeric(1, {bannedChars:bannedChars}) +
- faker.random.number({ min: 10000, max: 100000}) // return five digit #
+ faker.datatype.number({ min: 10000, max: 100000}) // return five digit #
).toUpperCase();
};
@@ -119,8 +119,8 @@ var Vehicle = function (faker) {
self.vrm = function () {
return (
faker.random.alpha({ count: 2, upcase: true }) +
- faker.random.number({ min: 0, max: 9 }) +
- faker.random.number({ min: 0, max: 9 }) +
+ faker.datatype.number({ min: 0, max: 9 }) +
+ faker.datatype.number({ min: 0, max: 9 }) +
faker.random.alpha({ count: 3, upcase: true })
).toUpperCase();
};