const lipsum = require('./lorem') const randomNumber = max => { return Math.floor(Math.random() * max) < 1 ? 1 : Math.floor(Math.random() * max) } const randomValFrom = arr => arr[randomNumber(arr.length)] const randomEmail = (length = 5) => { let chars = 'abcdefghijklmnopqrstuvwxyz-_abcdefghijklmnopqrstuvwxyz0123456789' let str = '' for (let i = 0; i < length + randomNumber(9); i++) { str += chars.charAt(Math.floor(Math.random() * chars.length)) } const suffixs = [ '@gmail.com', '@aol.com', '@yahoo.com', '@apple.com', '@hotmail.com', '@rocket-mail.com', '@mail.com', ] return str + randomValFrom(suffixs) } const randomName = (length = 4) => { let chars = 'aeiouaeiouabcdefghijklmnoprstuvwyabcdefghijklmnopqrstuvwxyz' let str = '' for (let i = 0; i < length + randomNumber(9); i++) { str += chars.charAt(Math.floor(Math.random() * chars.length)) } return str } const randomMedia = () => { const stockimg = [ 'https://i.imgur.com/a4wirDS.png', 'https://i.imgur.com/F6GxGXG.jpeg', 'https://i.imgur.com/ekrkdNt.jpeg', 'https://i.imgur.com/VtMTfDg.jpeg', 'https://i.imgur.com/9Fwouqm.jpeg', 'https://i.imgur.com/rOjRCgo.jpeg', 'https://i.imgur.com/FwSdQww.jpeg', 'https://i.imgur.com/JjZyzXL.jpeg', 'https://i.imgur.com/1DsSQ1s.jpeg', ] return randomValFrom(stockimg) } const randomLang = () => { const langs = [ 'javascript', 'python', 'ruby', 'erlang', 'haskall', 'php', 'swift', 'rust', 'objective-c', 'common lisp', 'java', 'perl', 'cobol', 'fortran', 'julia', 'c#', 'go', 'c++', ] return randomValFrom(langs) } const randomDuration = () => { const duration = ['full', 'part'] return randomValFrom(duration) } const randomLocation = () => { const location = ['onsite', 'remote', 'flexible'] return randomValFrom(location) } const randomBlurb = () => { const l = new lipsum.LoremIpsum() return l.generate(randomNumber(50)) } module.exports = { number: randomNumber, valFrom: randomValFrom, email: randomEmail, name: randomName, media: randomMedia, language: randomLang, duration: randomDuration, location: randomLocation, blurb: randomBlurb }