"use strict";var o=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var M=Object.prototype.hasOwnProperty;var h=(r,e,t)=>e in r?o(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var y=(r,e)=>{for(var t in e)o(r,t,{get:e[t],enumerable:!0})},R=(r,e,t,m)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of b(e))!M.call(r,a)&&a!==t&&o(r,a,{get:()=>e[a],enumerable:!(m=D(e,a))||m.enumerable});return r};var z=r=>R(o({},"__esModule",{value:!0}),r);var n=(r,e,t)=>(h(r,typeof e!="symbol"?e+"":e,t),t);var _={};y(_,{SimpleFaker:()=>f,simpleFaker:()=>w});module.exports=z(_);var i=require("./internal/mersenne"),d=require("./modules/datatype"),u=require("./modules/date"),l=require("./modules/helpers"),s=require("./modules/number"),p=require("./modules/string");class f{constructor(e={}){n(this,"_defaultRefDate",()=>new Date);n(this,"_randomizer");n(this,"datatype",new d.DatatypeModule(this));n(this,"date",new u.SimpleDateModule(this));n(this,"helpers",new l.SimpleHelpersModule(this));n(this,"number",new s.NumberModule(this));n(this,"string",new p.StringModule(this));const{randomizer:t=(0,i.generateMersenne32Randomizer)()}=e;this._randomizer=t}get defaultRefDate(){return this._defaultRefDate}setDefaultRefDate(e=()=>new Date){typeof e=="function"?this._defaultRefDate=e:this._defaultRefDate=()=>new Date(e)}seed(e=Math.ceil(Math.random()*Number.MAX_SAFE_INTEGER)){return this._randomizer.seed(e),e}}const w=new f;0&&(module.exports={SimpleFaker,simpleFaker});
