@noeldemartin/faker
Version:
Generate massive amounts of fake contextual data
2 lines (1 loc) • 2.65 kB
JavaScript
;var b=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var y=(i,e)=>{for(var n in e)b(i,n,{get:e[n],enumerable:!0})},x=(i,e,n,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of d(e))!h.call(i,a)&&a!==n&&b(i,a,{get:()=>e[a],enumerable:!(t=g(e,a))||t.enumerable});return i};var w=i=>x(b({},"__esModule",{value:!0}),i);var T={};y(T,{DateModule:()=>f});module.exports=w(T);var D=require("../../errors/faker-error");function u(i){return i=new Date(i),isNaN(i.valueOf())&&(i=new Date),i}class f{constructor(e){this.faker=e;for(const n of Object.getOwnPropertyNames(f.prototype))n==="constructor"||typeof this[n]!="function"||(this[n]=this[n].bind(this))}past(e,n){const t=u(n),a={min:1e3,max:(e||1)*365*24*3600*1e3};let r=t.getTime();return r-=this.faker.datatype.number(a),t.setTime(r),t}future(e,n){const t=u(n),a={min:1e3,max:(e||1)*365*24*3600*1e3};let r=t.getTime();return r+=this.faker.datatype.number(a),t.setTime(r),t}between(e,n){const t=u(e).getTime(),a=u(n).getTime(),r=this.faker.datatype.number(a-t);return new Date(t+r)}betweens(e,n,t=3){const a=[];for(;a.length<t;)a.push(this.between(e,n));return a.sort((r,m)=>r.getTime()-m.getTime())}recent(e,n){const t=u(n),a={min:1e3,max:(e||1)*24*3600*1e3};let r=t.getTime();return r-=this.faker.datatype.number(a),t.setTime(r),t}soon(e,n){const t=u(n),a={min:1e3,max:(e||1)*24*3600*1e3};let r=t.getTime();return r+=this.faker.datatype.number(a),t.setTime(r),t}month(e){var m,s;const n=(m=e==null?void 0:e.abbr)!=null?m:!1,t=(s=e==null?void 0:e.context)!=null?s:!1,a=this.faker.definitions.date.month;let r;return n?t&&a.abbr_context!=null?r="abbr_context":r="abbr":t&&a.wide_context!=null?r="wide_context":r="wide",this.faker.helpers.arrayElement(a[r])}weekday(e){var m,s;const n=(m=e==null?void 0:e.abbr)!=null?m:!1,t=(s=e==null?void 0:e.context)!=null?s:!1,a=this.faker.definitions.date.weekday;let r;return n?t&&a.abbr_context!=null?r="abbr_context":r="abbr":t&&a.wide_context!=null?r="wide_context":r="wide",this.faker.helpers.arrayElement(a[r])}birthdate(e={}){var s,l,c,o;const n=e.mode==="age"?"age":"year",t=u(e.refDate),a=t.getUTCFullYear();let r,m;if(n==="age"?(r=new Date(t).setUTCFullYear(a-((s=e.max)!=null?s:80)-1),m=new Date(t).setUTCFullYear(a-((l=e.min)!=null?l:18))):(r=new Date(Date.UTC(0,0,2)).setUTCFullYear((c=e.min)!=null?c:a-80),m=new Date(Date.UTC(0,11,30)).setUTCFullYear((o=e.max)!=null?o:a-18)),m<r)throw new D.FakerError(`Max ${m} should be larger then min ${r}.`);return new Date(this.faker.datatype.number({min:r,max:m}))}}0&&(module.exports={DateModule});