/** * * @namespace faker.image * @property {object} lorempixel - faker.image.lorempixel * @property {object} unsplash - faker.image.unsplash * @property {object} unsplash - faker.image.lorempicsum * @default Default provider is unsplash image provider */ var Image = function (faker) { var self = this; var Lorempixel = require('./image_providers/lorempixel'); var Unsplash = require('./image_providers/unsplash'); var LoremPicsum = require('./image_providers/lorempicsum'); /** * image * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.image */ self.image = function (width, height, randomize) { var categories = ["abstract", "animals", "business", "cats", "city", "food", "nightlife", "fashion", "people", "nature", "sports", "technics", "transport"]; return self[faker.random.arrayElement(categories)](width, height, randomize); }; /** * avatar * * @method faker.image.avatar */ self.avatar = function () { return faker.internet.avatar(); }; /** * imageUrl * * @param {number} width * @param {number} height * @param {string} category * @param {boolean} randomize * @method faker.image.imageUrl */ self.imageUrl = function (width, height, category, randomize, https) { var width = width || 640; var height = height || 480; var protocol = 'http://'; if (typeof https !== 'undefined' && https === true) { protocol = 'https://'; } var url = protocol + 'placeimg.com/' + width + '/' + height; if (typeof category !== 'undefined') { url += '/' + category; } if (randomize) { url += '?' + faker.datatype.number() } return url; }; /** * abstract * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.abstract */ self.abstract = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'abstract', randomize); }; /** * animals * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.animals */ self.animals = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'animals', randomize); }; /** * business * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.business */ self.business = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'business', randomize); }; /** * cats * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.cats */ self.cats = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'cats', randomize); }; /** * city * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.city */ self.city = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'city', randomize); }; /** * food * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.food */ self.food = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'food', randomize); }; /** * nightlife * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.nightlife */ self.nightlife = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'nightlife', randomize); }; /** * fashion * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.fashion */ self.fashion = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'fashion', randomize); }; /** * people * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.people */ self.people = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'people', randomize); }; /** * nature * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.nature */ self.nature = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'nature', randomize); }; /** * sports * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.sports */ self.sports = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'sports', randomize); }; /** * technics * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.technics */ self.technics = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'technics', randomize); }; /** * transport * * @param {number} width * @param {number} height * @param {boolean} randomize * @method faker.image.transport */ self.transport = function (width, height, randomize) { return faker.image.imageUrl(width, height, 'transport', randomize); }; /** * dataUri * * @param {number} width * @param {number} height * @param {string} color * @method faker.image.dataUri */ self.dataUri = function (width, height, color) { color = color || 'grey'; var svgString = '' + width + 'x' + height + ''; var rawPrefix = 'data:image/svg+xml;charset=UTF-8,'; return rawPrefix + encodeURIComponent(svgString); }; self.lorempixel = new Lorempixel(faker); self.unsplash = new Unsplash(faker); self.lorempicsum = new LoremPicsum(faker); // Object.assign(self, self.unsplash); // How to set default as unsplash? should be image.default? } module["exports"] = Image;