diff options
| author | LBuerstmayr <[email protected]> | 2021-03-01 22:46:26 +0100 |
|---|---|---|
| committer | Marak <[email protected]> | 2021-03-03 20:14:45 -0500 |
| commit | 7ad22c2e2aae2f5e6215bcdb91cf3fd28e727d92 (patch) | |
| tree | 03941188e92583a105c8ef17fde438fb1b52bdcf /lib | |
| parent | 58c61afb1b8baa160add593e5af7c110de011968 (diff) | |
| download | faker-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.js | 12 | ||||
| -rw-r--r-- | lib/commerce.js | 2 | ||||
| -rw-r--r-- | lib/company.js | 2 | ||||
| -rw-r--r-- | lib/datatype.js | 78 | ||||
| -rw-r--r-- | lib/date.js | 10 | ||||
| -rw-r--r-- | lib/finance.js | 23 | ||||
| -rw-r--r-- | lib/git.js | 2 | ||||
| -rw-r--r-- | lib/helpers.js | 14 | ||||
| -rw-r--r-- | lib/image.js | 2 | ||||
| -rw-r--r-- | lib/image_providers/lorempixel.js | 2 | ||||
| -rw-r--r-- | lib/index.js | 4 | ||||
| -rw-r--r-- | lib/internet.js | 20 | ||||
| -rw-r--r-- | lib/lorem.js | 8 | ||||
| -rw-r--r-- | lib/name.js | 12 | ||||
| -rw-r--r-- | lib/random.js | 75 | ||||
| -rw-r--r-- | lib/system.js | 6 | ||||
| -rw-r--r-- | lib/vehicle.js | 6 |
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) + @@ -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(); }; |
