aboutsummaryrefslogtreecommitdiff
path: root/lib/internet.js
diff options
context:
space:
mode:
authorRonen Babayoff <[email protected]>2015-08-23 21:57:46 -0400
committerRonen Babayoff <[email protected]>2015-08-23 21:57:46 -0400
commit66996e280c9fbbbc2e7db376549f568be32ad5cd (patch)
treee93f412c4bceeb7ed0376e26113c9d31522af8b4 /lib/internet.js
parentcf0bd70d5fca9c0169414f5d2c16ca32431a3fd9 (diff)
parentd8f8108ac5dbec7e2b7ea9a23dd19aa42255e3fb (diff)
downloadfaker-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.js193
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;