UNPKG

@noeldemartin/faker

Version:

Generate massive amounts of fake contextual data

2 lines (1 loc) 4.43 kB
"use strict";var f=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var b=Object.prototype.hasOwnProperty;var g=(n,e)=>{for(var r in e)f(n,r,{get:e[r],enumerable:!0})},w=(n,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of y(e))!b.call(n,a)&&a!==r&&f(n,a,{get:()=>e[a],enumerable:!(t=k(e,a))||t.enumerable});return n};var C=n=>w(f({},"__esModule",{value:!0}),n);var A={};g(A,{RandomModule:()=>p});module.exports=C(A);var c=require("../../errors/faker-error"),u=require("../../internal/deprecated");const o="ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""),h="abcdefghijklmnopqrstuvwxyz".split(""),d="0123456789".split("");function m(n,e){return e.forEach(r=>{n=n.filter(t=>t!==r)}),n}class p{constructor(e){this.faker=e;for(const r of Object.getOwnPropertyNames(p.prototype))r==="constructor"||typeof this[r]!="function"||(this[r]=this[r].bind(this))}word(){const e=[this.faker.address.cardinalDirection,this.faker.address.cityName,this.faker.address.country,this.faker.address.county,this.faker.address.direction,this.faker.address.ordinalDirection,this.faker.address.state,this.faker.address.street,this.faker.color.human,this.faker.commerce.department,this.faker.commerce.product,this.faker.commerce.productAdjective,this.faker.commerce.productMaterial,this.faker.commerce.productName,this.faker.company.bsAdjective,this.faker.company.bsBuzz,this.faker.company.bsNoun,this.faker.company.catchPhraseAdjective,this.faker.company.catchPhraseDescriptor,this.faker.company.catchPhraseNoun,this.faker.finance.accountName,this.faker.finance.currencyName,this.faker.finance.transactionType,this.faker.hacker.abbreviation,this.faker.hacker.adjective,this.faker.hacker.ingverb,this.faker.hacker.noun,this.faker.hacker.verb,this.faker.lorem.word,this.faker.music.genre,this.faker.name.gender,this.faker.name.jobArea,this.faker.name.jobDescriptor,this.faker.name.jobTitle,this.faker.name.jobType,this.faker.name.sex,()=>this.faker.science.chemicalElement().name,()=>this.faker.science.unit().name,this.faker.vehicle.bicycle,this.faker.vehicle.color,this.faker.vehicle.fuel,this.faker.vehicle.manufacturer,this.faker.vehicle.type,this.faker.word.adjective,this.faker.word.adverb,this.faker.word.conjunction,this.faker.word.interjection,this.faker.word.noun,this.faker.word.preposition,this.faker.word.verb],r=["!","#","%","&","*",")","(","+","=",".","<",">","{","}","[","]",":",";","'",'"',"_","-"];let t;do{const a=this.faker.helpers.arrayElement(e);try{t=a()}catch{continue}}while(!t||r.some(a=>t.includes(a)));return this.faker.helpers.arrayElement(t.split(" "))}words(e){const r=[];e==null&&(e=this.faker.datatype.number({min:1,max:3}));for(let t=0;t<e;t++)r.push(this.word());return r.join(" ")}locale(){return this.faker.helpers.arrayElement(Object.keys(this.faker.locales))}alpha(e={}){typeof e=="number"&&(e={count:e});const{count:r=1,upcase:t}=e;let{bannedChars:a=[]}=e;if(typeof a=="string"&&(a=a.split("")),r<=0)return"";const{casing:i=t?"upper":"lower"}=e;t!=null&&(0,u.deprecated)({deprecated:"faker.random.alpha({ upcase: true })",proposed:"faker.random.alpha({ casing: 'upper' })",since:"7.0",until:"8.0"});let s;switch(i){case"upper":s=[...o];break;case"lower":s=[...h];break;case"mixed":default:s=[...h,...o];break}if(s=m(s,a),s.length===0)throw new c.FakerError("Unable to generate string, because all possible characters are banned.");return Array.from({length:r},()=>this.faker.helpers.arrayElement(s)).join("")}alphaNumeric(e=1,r={}){if(e<=0)return"";const{casing:t="lower"}=r;let{bannedChars:a=[]}=r;typeof a=="string"&&(a=a.split(""));let i=[...d];switch(t){case"upper":i.push(...o);break;case"lower":i.push(...h);break;case"mixed":default:i.push(...h,...o);break}if(i=m(i,a),i.length===0)throw new c.FakerError("Unable to generate string, because all possible characters are banned.");return Array.from({length:e},()=>this.faker.helpers.arrayElement(i)).join("")}numeric(e=1,r={}){if(e<=0)return"";const{allowLeadingZeros:t=!1}=r;let{bannedDigits:a=[]}=r;typeof a=="string"&&(a=a.split(""));const i=d.filter(l=>!a.includes(l));if(i.length===0||i.length===1&&!t&&i[0]==="0")throw new c.FakerError("Unable to generate numeric string, because all possible digits are banned.");let s="";for(!t&&!a.includes("0")&&(s+=this.faker.helpers.arrayElement(i.filter(l=>l!=="0")));s.length<e;)s+=this.faker.helpers.arrayElement(i);return s}}0&&(module.exports={RandomModule});