diff options
| author | Ronen Babayoff <[email protected]> | 2015-08-23 21:57:46 -0400 |
|---|---|---|
| committer | Ronen Babayoff <[email protected]> | 2015-08-23 21:57:46 -0400 |
| commit | 66996e280c9fbbbc2e7db376549f568be32ad5cd (patch) | |
| tree | e93f412c4bceeb7ed0376e26113c9d31522af8b4 /lib/internet.js | |
| parent | cf0bd70d5fca9c0169414f5d2c16ca32431a3fd9 (diff) | |
| parent | d8f8108ac5dbec7e2b7ea9a23dd19aa42255e3fb (diff) | |
| download | faker-66996e280c9fbbbc2e7db376549f568be32ad5cd.tar.xz faker-66996e280c9fbbbc2e7db376549f568be32ad5cd.zip | |
Merge v3.0.1 into practicalmeteor:faker package branch
Diffstat (limited to 'lib/internet.js')
| -rw-r--r-- | lib/internet.js | 193 |
1 files changed, 107 insertions, 86 deletions
diff --git a/lib/internet.js b/lib/internet.js index c0d92ec5..2663ce5c 100644 --- a/lib/internet.js +++ b/lib/internet.js @@ -1,92 +1,113 @@ -var faker = require('../index'), - password_generator = require('../vendor/password-generator.js'), +var password_generator = require('../vendor/password-generator.js'), random_ua = require('../vendor/user-agent'); -var internet = { - - avatar: function () { - return faker.random.array_element(faker.definitions.internet.avatar_uri); - }, - - email: function (firstName, lastName, provider) { - provider = provider || faker.random.array_element(faker.definitions.internet.free_email); - return faker.helpers.slugify(faker.internet.userName(firstName, lastName)) + "@" + provider; - }, - - userName: function (firstName, lastName) { - var result; - firstName = firstName || faker.name.firstName(); - lastName = lastName || faker.name.lastName(); - switch (faker.random.number(2)) { - case 0: - result = firstName + faker.random.number(99); - break; - case 1: - result = firstName + faker.random.array_element([".", "_"]) + lastName; - break; - case 2: - result = firstName + faker.random.array_element([".", "_"]) + lastName + faker.random.number(99); - break; - } - result = result.replace(/'/g, ""); - result = result.replace(/ /g, ""); - return result; - }, - - domainName: function () { - return faker.internet.domainWord() + "." + faker.internet.domainSuffix(); - }, - - domainSuffix: function () { - return faker.random.array_element(faker.definitions.internet.domain_suffix); - }, - - domainWord: function () { - return faker.name.firstName().replace(/([^A-Z0-9._%+-])/ig, '').toLowerCase(); - }, - - ip: function () { - var randNum = function () { - return (faker.random.number(255)).toFixed(0); - }; - - var result = []; - for (var i = 0; i < 4; i++) { - result[i] = randNum(); - } - - return result.join("."); - }, - - userAgent: function () { - return random_ua.generate(); - }, - - color: function (baseRed255, baseGreen255, baseBlue255) { - baseRed255 = baseRed255 || 0; - 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) + baseRed255) / 2); - var blue = Math.floor((faker.random.number(256) + baseRed255) / 2); - var redStr = red.toString(16); - var greenStr = green.toString(16); - var blueStr = blue.toString(16); - return '#' + - (redStr.length === 1 ? '0' : '') + redStr + - (greenStr.length === 1 ? '0' : '') + greenStr + - (blueStr.length === 1 ? '0': '') + blueStr; - - }, - - password: function (len, memorable, pattern, prefix) { - len = len || 15; - if (typeof memorable === "undefined") { - memorable = false; +var Internet = function (faker) { + var self = this; + self.avatar = function () { + return faker.random.arrayElement(faker.definitions.internet.avatar_uri); + }; + + self.email = function (firstName, lastName, provider) { + provider = provider || faker.random.arrayElement(faker.definitions.internet.free_email); + return faker.helpers.slugify(faker.internet.userName(firstName, lastName)) + "@" + provider; + }; + + self.userName = function (firstName, lastName) { + var result; + firstName = firstName || faker.name.firstName(); + lastName = lastName || faker.name.lastName(); + switch (faker.random.number(2)) { + case 0: + result = firstName + faker.random.number(99); + break; + case 1: + result = firstName + faker.random.arrayElement([".", "_"]) + lastName; + break; + case 2: + result = firstName + faker.random.arrayElement([".", "_"]) + lastName + faker.random.number(99); + break; + } + result = result.toString().replace(/'/g, ""); + result = result.replace(/ /g, ""); + return result; + }; + + self.protocol = function () { + var protocols = ['http','https']; + return faker.random.arrayElement(protocols); + }; + + self.url = function () { + return faker.internet.protocol() + '://' + faker.internet.domainName(); + }; + + self.domainName = function () { + return faker.internet.domainWord() + "." + faker.internet.domainSuffix(); + }; + + self.domainSuffix = function () { + return faker.random.arrayElement(faker.definitions.internet.domain_suffix); + }; + + self.domainWord = function () { + return faker.name.firstName().replace(/([\\~#&*{}/:<>?|\"])/ig, '').toLowerCase(); + }; + + self.ip = function () { + var randNum = function () { + return (faker.random.number(255)).toFixed(0); + }; + + var result = []; + for (var i = 0; i < 4; i++) { + result[i] = randNum(); } - return password_generator(len, memorable, pattern, prefix); + + return result.join("."); + }; + + self.userAgent = function () { + return random_ua.generate(); + }; + + self.color = function (baseRed255, baseGreen255, baseBlue255) { + baseRed255 = baseRed255 || 0; + 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 redStr = red.toString(16); + var greenStr = green.toString(16); + var blueStr = blue.toString(16); + return '#' + + (redStr.length === 1 ? '0' : '') + redStr + + (greenStr.length === 1 ? '0' : '') + greenStr + + (blueStr.length === 1 ? '0': '') + blueStr; + + }; + + self.mac = function(){ + var i, mac = ""; + for (i=0; i < 12; i++) { + mac+= parseInt(Math.random()*16).toString(16); + if (i%2==1 && i != 11) { + mac+=":"; + } + } + return mac; + }; + + self.password = function (len, memorable, pattern, prefix) { + len = len || 15; + if (typeof memorable === "undefined") { + memorable = false; } + return password_generator(len, memorable, pattern, prefix); + } + }; -module.exports = internet; + +module["exports"] = Internet; |
