deverything 0.17.0 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  (function (exports) {
2
2
  'use strict';
3
3
 
4
- var s=(t,e)=>Array.from({length:t},e);var I=t=>t.charAt(0).toUpperCase()+t.slice(1);var It=({number:t,min:e,max:o})=>(o<e&&process.env.DEVERYTHING_WARNINGS&&console.warn("clamp: max < min",{number:t,min:e,max:o}),t<e?e:t>o?o:t);var Mt=t=>t.trim().replace(/\s{2,}/g," ");var Lt=t=>t==null?void 0:t[0];var E=t=>Object.keys(t).concat(V(t)),V=t=>Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[];var ht=t=>t==null?void 0:t[t.length-1];var u=t=>Array.isArray(t);var Ot=t=>Object.prototype.toString.call(t)==="[object Boolean]";var _=()=>typeof window=="undefined";var d=()=>!_();var Ft=d;var A=t=>typeof t=="string";var Ht=t=>A(t)&&/\S+@\S+\.\S+/.test(t);var m=t=>Object.prototype.toString.call(t)==="[object Object]";var M=t=>K(t)||W(t)||J(t)?!0:t==null,J=t=>A(t)&&t.trim().length===0,W=t=>u(t)&&t.length===0,K=t=>m(t)&&Object.keys(t).length===0;var Yt=t=>Object.prototype.toString.call(t)==="[object Function]";var S=t=>Object.prototype.toString.call(t)==="[object Date]"&&!isNaN(t);var y=(t,e)=>e.hasOwnProperty(t)&&e.propertyIsEnumerable(t);var b=t=>Number.isInteger(t),te=t=>b(t)&&!(t%2),ee=t=>b(t)&&!!(t%2),g=t=>b(t)&&t>0,oe=t=>b(t)&&t<0,re=t=>Object.prototype.toString.apply(t)==="[object Number]"&&isFinite(t);var L=t=>!isNaN(t);var ae=t=>t instanceof Promise;var ce=()=>d()&&window.matchMedia("(display-mode: standalone)").matches;var $=typeof Symbol=="function"&&Symbol.for,Y=$?Symbol.for("react.element"):60103,le=t=>t.$$typeof===Y;var de=t=>Object.prototype.toString.call(t)==="[object RegExp]";var ye=t=>{let e=new Date(t);return S(e)};var fe=t=>typeof t=="undefined";var q=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.?)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i"),Ee=t=>!!t&&q.test(t);var Ne=t=>/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t);var B=t=>t!=null&&!Number.isNaN(t);var T=(t,e)=>{let o={};return E(t).forEach(r=>{o[r]=m(t[r])?T({},t[r]):t[r];}),E(e).forEach(r=>{y(r,t)?o[r]=m(t[r])&&m(e[r])?T(t[r],e[r]):e[r]:o[r]=m(e[r])?T({},e[r]):e[r];}),o};var Be=(t,e)=>{let o=[...t];for(let r=0;r<o.length;r++)if(e(o[r],r,o)){let a=o.splice(r,1);o.unshift(a[0]);break}return o};var he=(t,e)=>{let o=[...t];for(let r=0;r<o.length;r++)if(e(o[r],r,o)){let a=o.splice(r,1)[0];o.push(a);break}return o};var Pe=t=>{if(M(t))return;let e=new Date(t);if(S(e))return e};var je=t=>JSON.stringify(t,null,2);var ve=(t,e,o)=>{let r,a=new Promise((Et,k)=>{r=setTimeout(()=>k(o!=null?o:new Error("Promise timed out")),e);});return Promise.race([t(),a]).finally(()=>{clearTimeout(r);})};var ze=t=>new Promise(e=>{setTimeout(e,t);});var He=(t,e)=>{if(u(t)){let o=t.reduce((r,a)=>(a!==e&&r.push(a),r),[]);return o.length===t.length&&o.push(e),o}return t};var Je=(t,e,o="...")=>{if(!g(e))return t;let r=[...t];return r.length<=e?t:r.slice(0,e).join("")+o};var Z=[{city:"London",country:"United Kingdom",street:"Baker Street",number:"221B",zip:"NW1 6XE"},{city:"Birmingham",country:"United Kingdom",street:"Bordesley Street",number:"B1 1AA",zip:"B1 1AA"}],Q=[{city:"New York",country:"United States",street:"Broadway",number:"42",zip:"10036"},{city:"Los Angeles",country:"United States",street:"Hollywood Boulevard",number:"6801",zip:"90028"}],tt=[{city:"Paris",country:"France",street:"Rue de Rivoli",number:"75001",zip:"75001"},{city:"Berlin",country:"Germany",street:"Unter den Linden",number:"10117",zip:"10117"},{city:"Rome",country:"Italy",street:"Via del Corso",number:"00186",zip:"00186"},{city:"Madrid",country:"Spain",street:"Gran V\xEDa",number:"28013",zip:"28013"}],et=[{city:"Moscow",country:"Russia",street:"Tverskaya",number:"101000",zip:"101000"},{city:"Tokyo",country:"Japan",street:"Shinjuku",number:"160-0022",zip:"160-0022"},{city:"Beijing",country:"China",street:"Changan",number:"100005",zip:"100005"},{city:"Cairo",country:"Egypt",street:"Al-Muizz",number:"11511",zip:"11511"},{city:"Buenos Aires",country:"Argentina",street:"Avenida de Mayo",number:"1002",zip:"C1006AAQ"},{city:"Cape Town",country:"South Africa",street:"Adderley",number:"7700",zip:"7700"},{city:"Sydney",country:"Australia",street:"George",number:"2000",zip:"2000"},{city:"Rio de Janeiro",country:"Brazil",street:"Av. Presidente Vargas",number:"20021-000",zip:"20021-000"},{city:"Mexico City",country:"Mexico",street:"Paseo de la Reforma",number:"06500",zip:"06500"}],D=[...Z,...Q,...tt,...et];var i=(t=-100,e=100)=>Math.floor(Math.random()*(e-t+1)+t),$e=(t=100)=>i(1,t),Ye=(t=-100)=>i(t,-1),qe=()=>i(-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),Ze=()=>i(-Number.MAX_VALUE,Number.MAX_VALUE),Qe=()=>i(-100,100);var n=t=>t[i(0,t.length-1)];var io=()=>n(D);var ot="123456789ABCDEFGHIJKLMNPQRSTUVWXYZ".split(""),co=({length:t=6}={})=>{if(t<1)throw new Error("randomAlphaNumericCode: Length must be greater than 0.");return s(t,()=>n(ot)).join("")};var uo=()=>!!i(0,1);var yo=16,N=(t=-9,e=9,o)=>{let r=Math.random()*(e-t)+t;return B(o)?parseFloat(r.toFixed(o)):r};var xo=()=>({lat:rt(),lng:nt()}),rt=()=>N(-90,90),nt=()=>N(-180,180);var c=(t,e)=>{let o=t||new Date(-31536e7),r=e||new Date(31536e7);return new Date(o.getTime()+Math.random()*(r.getTime()-o.getTime()))},No=(t,e)=>{let o=t||new Date(-864e13),r=e||new Date(864e13);return c(o,r)},Io=()=>{let t=new Date(new Date().getTime()+5*6e4);return c(t)},_o=()=>c(void 0,new Date),Mo=()=>{let t=c();return {endDate:c(t),startDate:t}};var h=["gmail.com","yahoo.com","hotmail.com","aol.com","msn.com","comcast.net","live.com","sbcglobal.net","verizon.net","att.net","mac.com","me.com","earthlink.net","charter.net","shaw.ca","yahoo.ca","googlemail.com","mail.com","qq.com","web.de","gmx.de","mail.ru"];var C=["Aardvark","Albatross","Alligator","Alpaca","Ant","Anteater","Antelope","Ape"],R=["Axe","Ball Peen Hammer","Band Saw","Bench Grinder","Biscuit Joiner","Bolt Cutter","Boring Machine","Bow Saw"],p=["Adam","Adrian","Alan","Albert","Alexander","Alice","Amanda","Emma","Amelia","Amy","Andrew","Esther","Olivia","Ruby"],l=["Smith","Johnson","Williams","Jones","Brown","Davis","Miller","Wilson","Moore","Taylor","Anderson","Thomas","Jackson","White"],st=["\u0410\u0431\u0438\u0433\u0430\u0438\u043B","\u0410\u0434\u0430\u043C","\u0410\u0434\u0440\u0438\u0430\u043D","\u0410\u0433\u043D\u0435\u0441","\u0410\u043B\u0430\u043D","\u0410\u043B\u044C\u0431\u0435\u0440\u0442","\u0410\u043B\u0435\u043A\u0441\u0430\u043D\u0434\u0440","\u0410\u043B\u0438\u0441\u0430","\u0410\u043C\u0430\u043D\u0434\u0430","\u0410\u043C\u0435\u043B\u0438\u044F","\u042D\u043C\u0438","\u042D\u043D\u0434\u0440\u044E"],mt=["\u0421\u043C\u0438\u0442","\u0414\u0436\u043E\u043D\u0441\u043E\u043D","\u0423\u0438\u043B\u044C\u044F\u043C\u0441","\u0414\u0436\u043E\u043D\u0441","\u0411\u0440\u0430\u0443\u043D","\u0414\u044D\u0432\u0438\u0441","\u041C\u0438\u043B\u043B\u0435\u0440","\u0412\u0438\u043B\u0441\u043E\u043D","\u041C\u0443\u0440","\u0422\u0435\u0439\u043B\u043E\u0440","\u0410\u043D\u0434\u0435\u0440\u0441\u043E\u043D","\u0422\u043E\u043C\u0430\u0441","\u0414\u0436\u0435\u043A\u0441\u043E\u043D","\u0423\u0430\u0439\u0442"],ct=["\u30A2\u30D3\u30B2\u30A4\u30EB","\u30A2\u30C0\u30E0","\u30A2\u30C9\u30EA\u30A2\u30F3","\u30A2\u30B0\u30CD\u30B9","\u30A2\u30E9\u30F3","\u30A2\u30EB\u30D0\u30FC\u30C8","\u30A2\u30EC\u30AF\u30B5\u30F3\u30C0\u30FC","\u30A2\u30EA\u30B9","\u30A2\u30DE\u30F3\u30C0","\u30A2\u30E1\u30EA\u30A2","\u30A2\u30DF\u30FC","\u30A2\u30F3\u30C9\u30EA\u30E5\u30FC"],pt=["\u30B9\u30DF\u30B9","\u30B8\u30E7\u30F3\u30BD\u30F3","\u30A6\u30A3\u30EA\u30A2\u30E0\u30BA","\u30B8\u30E7\u30FC\u30F3\u30BA","\u30D6\u30E9\u30A6\u30F3","\u30C7\u30A4\u30D3\u30B9","\u30DF\u30E9\u30FC","\u30A6\u30A3\u30EB\u30BD\u30F3","\u30E2\u30A2","\u30BF\u30A4\u30E9\u30FC","\u30A2\u30F3\u30C0\u30FC\u30BD\u30F3","\u30C8\u30FC\u30DE\u30B9","\u30B8\u30E3\u30AF\u30BD\u30F3","\u30DB\u30EF\u30A4\u30C8"],lt=["\u0623\u0628\u064A\u062C\u064A\u0644","\u0622\u062F\u0645","\u0622\u062F\u0631\u064A\u0627\u0646","\u0623\u063A\u0646\u064A\u0633","\u0622\u0644\u0627\u0646","\u0622\u0644\u0628\u0631\u062A","\u0623\u0644\u0643\u0633\u0646\u062F\u0631","\u0622\u0644\u064A\u0633","\u0622\u0645\u0627\u0646\u062F\u0627","\u0622\u0645\u064A\u0644\u064A\u0627","\u0622\u0645\u064A","\u0623\u0646\u062F\u0631\u0648"],ut=["\u0633\u0645\u064A\u062B","\u062C\u0648\u0646\u0633\u0648\u0646","\u0648\u064A\u0644\u064A\u0627\u0645\u0632","\u062C\u0648\u0646\u0632","\u0628\u0631\u0627\u0648\u0646","\u062F\u064A\u0641\u064A\u0633","\u0645\u064A\u0644\u0631","\u0648\u064A\u0644\u0633\u0648\u0646","\u0645\u0648\u0631","\u062A\u0627\u064A\u0644\u0648\u0631","\u0623\u0646\u062F\u0631\u0633\u0648\u0646","\u062A\u0648\u0645\u0627\u0633","\u062C\u0627\u0643\u0633\u0648\u0646","\u0648\u0627\u064A\u062A"],O=[...p,...st,...ct,...lt],P=[...l,...mt,...pt,...ut];var w=()=>(n(p)+"."+n(l)).toLowerCase()+i(11,99);var jo=()=>`${w()}@${n(h)}`;var j=["\u{1F600}","\u{1F601}","\u{1F602}","\u{1F923}","\u{1F603}","\u{1F604}","\u{1F605}","\u{1F606}","\u{1F609}","\u{1F60A}","\u{1F60B}","\u{1F60E}","\u{1F60D}","\u{1F618}","\u{1F617}","\u{1F619}"],U=["!","@","#","$","%","^","&","*"];var Go=()=>n(j);var Vo=t=>n(Object.keys(t).filter(e=>!L(e)));var $o=t=>{let e=[];return Object.values(t).forEach(o=>{y(o,t)&&!e.includes(o)&&e.push(t[o]);}),n(e)};var dt=["abide","abound","accept","accomplish","achieve","acquire","act","adapt","add","adjust","admire","admit","adopt","advance","advise","afford","agree","alert","allow","be","go","need","work"],At=["abandon","ability","able","abortion","about","above","abroad","absence","absent","absolute"],St=["abandoned","abdominal","ability","able","abnormal","abolish","abortion","about","above","abroad","absence","absent","absolute"],yt=["abnormally","aboard","absentmindedly","absolutely","absurdly","abundantly","abysmally","academically","acceleratedly","accentually","acceptably","accessibly","accidentally","accommodatingly"],bt=["Pneumonoultramicroscopicsilicovolcanoconiosis","Floccinaucinihilipilification","Pseudopseudohypoparathyroidism","Hippopotomonstrosesquippedaliophobia","Antidisestablishmentarianism","Supercalifragilisticexpialidocious","Honorificabilitudinitatibus"];var v=["AliceBlue","Aqua","Aquamarine","Azure","Beige","Bisque","Black","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","DarkSlateGray","DeepPink","Gold","Lime","Olive","Orchid","Salmon","Turquoise"],F=[...dt,...At,...St,...yt,...bt];var f=()=>n(F);var z=()=>I(s(8,()=>f()).join(" "))+".";var ft=["png","jpg","jpeg","gif","svg","webp"],mr=({name:t,extension:e}={})=>{if(typeof File=="undefined")return;let o=e||n(ft);return new File([z()],`${t||f()}.${o}`,{type:`image/${o}`})};var x=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];var Ar=()=>"#"+s(6,()=>n(x)).join("");var fr=()=>n(x);var G=()=>n(v);var X=["AD1200012030200359100100","BA391290079401028494","BE68539007547034","BG80BNBG96611020345678","BH67BMAG00001299123456","BY13NBRB3600900000002Z00AB00","CH9300762011623852957","CR05015202001026284066","CY17002001280000001200527600","CZ6508000000192000145399","DE89370400440532013000","DO28BAGR00000001212453611324","EE382200221020145685","ES9121000418450200051332","FI2112345600000785","FO6264600001631634","FR1420041010050500013M02606","GB29NWBK60161331926819","GE29NB0000000101904917"];var gr=()=>n(X);var Dr=()=>`${i(0,255).toString()}.${i(0,255).toString()}.${i(0,255).toString()}.${i(0,255).toString()}`;var Or=()=>n([...C,...R]),Pr=()=>n(O),wr=()=>n(P),jr=()=>n(p)+" "+n(l);var zr=({length:t=6}={})=>{if(t<1)throw new Error("randomNumericCode: Length must be greater than 0.");return s(t,(e,o)=>i(o?0:1,9)).join("")};var xt=1,H=()=>xt++;var Wr=()=>G()+n(U)+i(11,99);var Yr=()=>{let t=H().toString().padStart(15,"0"),e=t.substring(0,12);return `00000000-0000-1000-8${t.substring(12,15)}-${e}`};
4
+ var s=(t,e)=>Array.from({length:t},e);var I=t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase();var It=({number:t,min:e,max:o})=>(o<e&&process.env.DEVERYTHING_WARNINGS&&console.warn("clamp: max < min",{number:t,min:e,max:o}),t<e?e:t>o?o:t);var Mt=t=>t.trim().replace(/\s{2,}/g," ");var Lt=t=>t==null?void 0:t[0];var E=t=>Object.keys(t).concat(V(t)),V=t=>Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[];var ht=t=>t==null?void 0:t[t.length-1];var u=t=>Array.isArray(t);var Ot=t=>Object.prototype.toString.call(t)==="[object Boolean]";var _=()=>typeof window=="undefined";var d=()=>!_();var Ft=d;var A=t=>typeof t=="string";var Ht=t=>A(t)&&/\S+@\S+\.\S+/.test(t);var m=t=>Object.prototype.toString.call(t)==="[object Object]";var M=t=>K(t)||W(t)||J(t)?!0:t==null,J=t=>A(t)&&t.trim().length===0,W=t=>u(t)&&t.length===0,K=t=>m(t)&&Object.keys(t).length===0;var Yt=t=>Object.prototype.toString.call(t)==="[object Function]";var S=t=>Object.prototype.toString.call(t)==="[object Date]"&&!isNaN(t);var y=(t,e)=>e.hasOwnProperty(t)&&e.propertyIsEnumerable(t);var b=t=>Number.isInteger(t),te=t=>b(t)&&!(t%2),ee=t=>b(t)&&!!(t%2),g=t=>b(t)&&t>0,oe=t=>b(t)&&t<0,re=t=>Object.prototype.toString.apply(t)==="[object Number]"&&isFinite(t);var L=t=>!isNaN(t);var ae=t=>t instanceof Promise;var ce=()=>d()&&window.matchMedia("(display-mode: standalone)").matches;var $=typeof Symbol=="function"&&Symbol.for,Y=$?Symbol.for("react.element"):60103,le=t=>t.$$typeof===Y;var de=t=>Object.prototype.toString.call(t)==="[object RegExp]";var ye=t=>{let e=new Date(t);return S(e)};var fe=t=>typeof t=="undefined";var q=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.?)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i"),Ee=t=>!!t&&q.test(t);var Ne=t=>/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t);var B=t=>t!=null&&!Number.isNaN(t);var T=(t,e)=>{let o={};return E(t).forEach(r=>{o[r]=m(t[r])?T({},t[r]):t[r];}),E(e).forEach(r=>{y(r,t)?o[r]=m(t[r])&&m(e[r])?T(t[r],e[r]):e[r]:o[r]=m(e[r])?T({},e[r]):e[r];}),o};var Be=(t,e)=>{let o=[...t];for(let r=0;r<o.length;r++)if(e(o[r],r,o)){let a=o.splice(r,1);o.unshift(a[0]);break}return o};var he=(t,e)=>{let o=[...t];for(let r=0;r<o.length;r++)if(e(o[r],r,o)){let a=o.splice(r,1)[0];o.push(a);break}return o};var Pe=t=>{if(M(t))return;let e=new Date(t);if(S(e))return e};var je=t=>JSON.stringify(t,null,2);var ve=(t,e,o)=>{let r,a=new Promise((Et,k)=>{r=setTimeout(()=>k(o!=null?o:new Error("Promise timed out")),e);});return Promise.race([t(),a]).finally(()=>{clearTimeout(r);})};var ze=t=>new Promise(e=>{setTimeout(e,t);});var He=(t,e)=>{if(u(t)){let o=t.reduce((r,a)=>(a!==e&&r.push(a),r),[]);return o.length===t.length&&o.push(e),o}return t};var Je=(t,e,o="...")=>{if(!g(e))return t;let r=[...t];return r.length<=e?t:r.slice(0,e).join("")+o};var Z=[{city:"London",country:"United Kingdom",street:"Baker Street",number:"221B",zip:"NW1 6XE"},{city:"Birmingham",country:"United Kingdom",street:"Bordesley Street",number:"B1 1AA",zip:"B1 1AA"}],Q=[{city:"New York",country:"United States",street:"Broadway",number:"42",zip:"10036"},{city:"Los Angeles",country:"United States",street:"Hollywood Boulevard",number:"6801",zip:"90028"}],tt=[{city:"Paris",country:"France",street:"Rue de Rivoli",number:"75001",zip:"75001"},{city:"Berlin",country:"Germany",street:"Unter den Linden",number:"10117",zip:"10117"},{city:"Rome",country:"Italy",street:"Via del Corso",number:"00186",zip:"00186"},{city:"Madrid",country:"Spain",street:"Gran V\xEDa",number:"28013",zip:"28013"}],et=[{city:"Moscow",country:"Russia",street:"Tverskaya",number:"101000",zip:"101000"},{city:"Tokyo",country:"Japan",street:"Shinjuku",number:"160-0022",zip:"160-0022"},{city:"Beijing",country:"China",street:"Changan",number:"100005",zip:"100005"},{city:"Cairo",country:"Egypt",street:"Al-Muizz",number:"11511",zip:"11511"},{city:"Buenos Aires",country:"Argentina",street:"Avenida de Mayo",number:"1002",zip:"C1006AAQ"},{city:"Cape Town",country:"South Africa",street:"Adderley",number:"7700",zip:"7700"},{city:"Sydney",country:"Australia",street:"George",number:"2000",zip:"2000"},{city:"Rio de Janeiro",country:"Brazil",street:"Av. Presidente Vargas",number:"20021-000",zip:"20021-000"},{city:"Mexico City",country:"Mexico",street:"Paseo de la Reforma",number:"06500",zip:"06500"}],D=[...Z,...Q,...tt,...et];var i=(t=-100,e=100)=>Math.floor(Math.random()*(e-t+1)+t),$e=(t=100)=>i(1,t),Ye=(t=-100)=>i(t,-1),qe=()=>i(-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),Ze=()=>i(-Number.MAX_VALUE,Number.MAX_VALUE),Qe=()=>i(-100,100);var n=t=>t[i(0,t.length-1)];var io=()=>n(D);var ot="123456789ABCDEFGHIJKLMNPQRSTUVWXYZ".split(""),co=({length:t=6}={})=>{if(t<1)throw new Error("randomAlphaNumericCode: Length must be greater than 0.");return s(t,()=>n(ot)).join("")};var uo=()=>!!i(0,1);var yo=16,N=(t=-9,e=9,o)=>{let r=Math.random()*(e-t)+t;return B(o)?parseFloat(r.toFixed(o)):r};var xo=()=>({lat:rt(),lng:nt()}),rt=()=>N(-90,90),nt=()=>N(-180,180);var c=(t,e)=>{let o=t||new Date(-31536e7),r=e||new Date(31536e7);return new Date(o.getTime()+Math.random()*(r.getTime()-o.getTime()))},No=(t,e)=>{let o=t||new Date(-864e13),r=e||new Date(864e13);return c(o,r)},Io=()=>{let t=new Date(new Date().getTime()+5*6e4);return c(t)},_o=()=>c(void 0,new Date),Mo=()=>{let t=c();return {endDate:c(t),startDate:t}};var h=["gmail.com","yahoo.com","hotmail.com","aol.com","msn.com","comcast.net","live.com","sbcglobal.net","verizon.net","att.net","mac.com","me.com","earthlink.net","charter.net","shaw.ca","yahoo.ca","googlemail.com","mail.com","qq.com","web.de","gmx.de","mail.ru"];var C=["Aardvark","Albatross","Alligator","Alpaca","Ant","Anteater","Antelope","Ape"],R=["Axe","Ball Peen Hammer","Band Saw","Bench Grinder","Biscuit Joiner","Bolt Cutter","Boring Machine","Bow Saw"],p=["Adam","Adrian","Alan","Albert","Alexander","Alice","Amanda","Emma","Amelia","Amy","Andrew","Esther","Olivia","Ruby"],l=["Smith","Johnson","Williams","Jones","Brown","Davis","Miller","Wilson","Moore","Taylor","Anderson","Thomas","Jackson","White"],st=["\u0410\u0431\u0438\u0433\u0430\u0438\u043B","\u0410\u0434\u0430\u043C","\u0410\u0434\u0440\u0438\u0430\u043D","\u0410\u0433\u043D\u0435\u0441","\u0410\u043B\u0430\u043D","\u0410\u043B\u044C\u0431\u0435\u0440\u0442","\u0410\u043B\u0435\u043A\u0441\u0430\u043D\u0434\u0440","\u0410\u043B\u0438\u0441\u0430","\u0410\u043C\u0430\u043D\u0434\u0430","\u0410\u043C\u0435\u043B\u0438\u044F","\u042D\u043C\u0438","\u042D\u043D\u0434\u0440\u044E"],mt=["\u0421\u043C\u0438\u0442","\u0414\u0436\u043E\u043D\u0441\u043E\u043D","\u0423\u0438\u043B\u044C\u044F\u043C\u0441","\u0414\u0436\u043E\u043D\u0441","\u0411\u0440\u0430\u0443\u043D","\u0414\u044D\u0432\u0438\u0441","\u041C\u0438\u043B\u043B\u0435\u0440","\u0412\u0438\u043B\u0441\u043E\u043D","\u041C\u0443\u0440","\u0422\u0435\u0439\u043B\u043E\u0440","\u0410\u043D\u0434\u0435\u0440\u0441\u043E\u043D","\u0422\u043E\u043C\u0430\u0441","\u0414\u0436\u0435\u043A\u0441\u043E\u043D","\u0423\u0430\u0439\u0442"],ct=["\u30A2\u30D3\u30B2\u30A4\u30EB","\u30A2\u30C0\u30E0","\u30A2\u30C9\u30EA\u30A2\u30F3","\u30A2\u30B0\u30CD\u30B9","\u30A2\u30E9\u30F3","\u30A2\u30EB\u30D0\u30FC\u30C8","\u30A2\u30EC\u30AF\u30B5\u30F3\u30C0\u30FC","\u30A2\u30EA\u30B9","\u30A2\u30DE\u30F3\u30C0","\u30A2\u30E1\u30EA\u30A2","\u30A2\u30DF\u30FC","\u30A2\u30F3\u30C9\u30EA\u30E5\u30FC"],pt=["\u30B9\u30DF\u30B9","\u30B8\u30E7\u30F3\u30BD\u30F3","\u30A6\u30A3\u30EA\u30A2\u30E0\u30BA","\u30B8\u30E7\u30FC\u30F3\u30BA","\u30D6\u30E9\u30A6\u30F3","\u30C7\u30A4\u30D3\u30B9","\u30DF\u30E9\u30FC","\u30A6\u30A3\u30EB\u30BD\u30F3","\u30E2\u30A2","\u30BF\u30A4\u30E9\u30FC","\u30A2\u30F3\u30C0\u30FC\u30BD\u30F3","\u30C8\u30FC\u30DE\u30B9","\u30B8\u30E3\u30AF\u30BD\u30F3","\u30DB\u30EF\u30A4\u30C8"],lt=["\u0623\u0628\u064A\u062C\u064A\u0644","\u0622\u062F\u0645","\u0622\u062F\u0631\u064A\u0627\u0646","\u0623\u063A\u0646\u064A\u0633","\u0622\u0644\u0627\u0646","\u0622\u0644\u0628\u0631\u062A","\u0623\u0644\u0643\u0633\u0646\u062F\u0631","\u0622\u0644\u064A\u0633","\u0622\u0645\u0627\u0646\u062F\u0627","\u0622\u0645\u064A\u0644\u064A\u0627","\u0622\u0645\u064A","\u0623\u0646\u062F\u0631\u0648"],ut=["\u0633\u0645\u064A\u062B","\u062C\u0648\u0646\u0633\u0648\u0646","\u0648\u064A\u0644\u064A\u0627\u0645\u0632","\u062C\u0648\u0646\u0632","\u0628\u0631\u0627\u0648\u0646","\u062F\u064A\u0641\u064A\u0633","\u0645\u064A\u0644\u0631","\u0648\u064A\u0644\u0633\u0648\u0646","\u0645\u0648\u0631","\u062A\u0627\u064A\u0644\u0648\u0631","\u0623\u0646\u062F\u0631\u0633\u0648\u0646","\u062A\u0648\u0645\u0627\u0633","\u062C\u0627\u0643\u0633\u0648\u0646","\u0648\u0627\u064A\u062A"],O=[...p,...st,...ct,...lt],P=[...l,...mt,...pt,...ut];var w=()=>(n(p)+"."+n(l)).toLowerCase()+i(11,99);var jo=()=>`${w()}@${n(h)}`;var j=["\u{1F600}","\u{1F601}","\u{1F602}","\u{1F923}","\u{1F603}","\u{1F604}","\u{1F605}","\u{1F606}","\u{1F609}","\u{1F60A}","\u{1F60B}","\u{1F60E}","\u{1F60D}","\u{1F618}","\u{1F617}","\u{1F619}"],U=["!","@","#","$","%","^","&","*"];var Go=()=>n(j);var Vo=t=>n(Object.keys(t).filter(e=>!L(e)));var $o=t=>{let e=[];return Object.values(t).forEach(o=>{y(o,t)&&!e.includes(o)&&e.push(t[o]);}),n(e)};var dt=["abide","abound","accept","accomplish","achieve","acquire","act","adapt","add","adjust","admire","admit","adopt","advance","advise","afford","agree","alert","allow","be","go","need","work"],At=["abandon","ability","able","abortion","about","above","abroad","absence","absent","absolute"],St=["abandoned","abdominal","ability","able","abnormal","abolish","abortion","about","above","abroad","absence","absent","absolute"],yt=["abnormally","aboard","absentmindedly","absolutely","absurdly","abundantly","abysmally","academically","acceleratedly","accentually","acceptably","accessibly","accidentally","accommodatingly"],bt=["Pneumonoultramicroscopicsilicovolcanoconiosis","Floccinaucinihilipilification","Pseudopseudohypoparathyroidism","Hippopotomonstrosesquippedaliophobia","Antidisestablishmentarianism","Supercalifragilisticexpialidocious","Honorificabilitudinitatibus"];var v=["AliceBlue","Aqua","Aquamarine","Azure","Beige","Bisque","Black","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","DarkSlateGray","DeepPink","Gold","Lime","Olive","Orchid","Salmon","Turquoise"],F=[...dt,...At,...St,...yt,...bt];var f=()=>n(F);var z=()=>I(s(8,()=>f()).join(" "))+".";var ft=["png","jpg","jpeg","gif","svg","webp"],mr=({name:t,extension:e}={})=>{if(typeof File=="undefined")return;let o=e||n(ft);return new File([z()],`${t||f()}.${o}`,{type:`image/${o}`})};var x=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];var Ar=()=>"#"+s(6,()=>n(x)).join("");var fr=()=>n(x);var G=()=>n(v);var X=["AD1200012030200359100100","BA391290079401028494","BE68539007547034","BG80BNBG96611020345678","BH67BMAG00001299123456","BY13NBRB3600900000002Z00AB00","CH9300762011623852957","CR05015202001026284066","CY17002001280000001200527600","CZ6508000000192000145399","DE89370400440532013000","DO28BAGR00000001212453611324","EE382200221020145685","ES9121000418450200051332","FI2112345600000785","FO6264600001631634","FR1420041010050500013M02606","GB29NWBK60161331926819","GE29NB0000000101904917"];var gr=()=>n(X);var Dr=()=>`${i(0,255).toString()}.${i(0,255).toString()}.${i(0,255).toString()}.${i(0,255).toString()}`;var Or=()=>n([...C,...R]),Pr=()=>n(O),wr=()=>n(P),jr=()=>n(p)+" "+n(l);var zr=({length:t=6}={})=>{if(t<1)throw new Error("randomNumericCode: Length must be greater than 0.");return s(t,(e,o)=>i(o?0:1,9)).join("")};var xt=1,H=()=>xt++;var Wr=()=>G()+n(U)+i(11,99);var Yr=()=>{let t=H().toString().padStart(15,"0"),e=t.substring(0,12);return `00000000-0000-1000-8${t.substring(12,15)}-${e}`};
5
5
 
6
6
  exports.JS_MAX_DIGITS = yo;
7
7
  exports.array = s;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/helpers/array.ts","../src/helpers/capitalize.ts","../src/helpers/clamp.ts","../src/helpers/cleanSpaces.ts","../src/helpers/first.ts","../src/helpers/getKeys.ts","../src/helpers/last.ts","../src/validators/isArray.ts","../src/validators/isBoolean.ts","../src/validators/isServer.ts","../src/validators/isClient.ts","../src/validators/isBrowser.ts","../src/validators/isString.ts","../src/validators/isEmail.ts","../src/validators/isObject.ts","../src/validators/isEmpty.ts","../src/validators/isFunction.ts","../src/validators/isJsDate.ts","../src/validators/isKey.ts","../src/validators/isNumber.ts","../src/validators/isNumeric.ts","../src/validators/isPromise.ts","../src/validators/isPWA.ts","../src/validators/isReactElement.ts","../src/validators/isRegExp.ts","../src/validators/isStringDate.ts","../src/validators/isUndefined.ts","../src/validators/isURL.ts","../src/validators/isUUID.ts","../src/validators/isValue.ts","../src/helpers/merge.ts","../src/helpers/moveToFirst.ts","../src/helpers/moveToLast.ts","../src/helpers/parseDate.ts","../src/helpers/pretty.ts","../src/helpers/promiseWithTimeout.ts","../src/helpers/sleep.ts","../src/helpers/toggleArray.ts","../src/helpers/truncate.ts","../src/constants/addresses.ts","../src/random/randomInt.ts","../src/random/randomArrayItem.ts","../src/random/randomAddress.ts","../src/random/randomAlphaNumericCode.ts","../src/random/randomBool.ts","../src/random/randomFloat.ts","../src/random/randomCoords.ts","../src/random/randomDate.ts","../src/constants/domains.ts","../src/constants/names.ts","../src/random/randomHandle.ts","../src/random/randomEmail.ts","../src/constants/unicode.ts","../src/random/randomEmoji.ts","../src/random/randomEnumKey.ts","../src/random/randomEnumValue.ts","../src/constants/words.ts","../src/random/randomWord.ts","../src/random/randomParagraph.ts","../src/random/randomFile.ts","../src/constants/hex.ts","../src/random/randomHexColor.ts","../src/random/randomHexValue.ts","../src/random/randomHtmlColorName.ts","../src/constants/banking.ts","../src/random/randomIBAN.ts","../src/random/randomIP.ts","../src/random/randomName.ts","../src/random/randomNumericCode.ts","../src/random/randomNumericId.ts","../src/random/randomPassword.ts","../src/random/randomUUID.ts"],"names":["array","length","mapFn","capitalize","string","clamp","number","min","max","cleanSpaces","str","first","arr","getKeys","arg","getEnumerableOwnPropertySymbols","symbol","last","isArray","isBoolean","isServer","isClient","isBrowser","isString","isEmail","isObject","isEmpty","isEmptyObject","isEmptyArray","isEmptyString","isFunction","isJsDate","isKey","key","obj","isInt","isEven","isOdd","isPositive","isNegative","isNumber","isNumeric","num","isPromise","isPWA","canUseSymbol","REACT_ELEMENT_TYPE","isReactElement","value","isRegExp","isStringDate","date","isUndefined","pattern","isURL","isUUID","isValue","merge","target","source","merger","moveToFirst","items","condition","resortedItems","i","firstItem","moveToLast","lastItem","parseDate","pretty","promiseWithTimeout","promise","timeoutMs","error","timeout","timeoutPromise","_","reject","sleep","timeMs","resolve","toggleArray","copy","acc","val","truncate","limit","ellipsis","argArray","UK_ADDRESSES","US_ADDRESSES","EUROPE_ADDRESSES","MIXED_ADDRESSES","ADDRESSES","randomInt","start","end","randomPositiveInt","randomNegativeInt","randomMaxSafeInt","randomMaxInt","randomPercentage","randomArrayItem","randomAddress","chars","randomAlphaNumericCode","randomBool","JS_MAX_DIGITS","randomFloat","decimals","float","randomCoords","randomLat","randomLng","randomDate","startDate","endDate","randomMaxDate","randomFutureDate","safeNow","randomPastDate","randomDateRange","DOMAIN_NAMES","ANIMAL_NAMES","TOOL_NAMES","LATIN_FIRST_NAMES","LATIN_LAST_NAMES","CYRILLIC_FIRST_NAMES","CYRILLIC_LAST_NAMES","JAPANESE_FIRST_NAMES","JAPANESE_LAST_NAMES","ARABIC_FIRST_NAMES","ARABIC_LAST_NAMES","FIRST_NAMES","LAST_NAMES","randomHandle","randomEmail","EMOJI_SAMPLE","SPECIAL_CHARACTERS","randomEmoji","randomEnumKey","enumObject","randomEnumValue","values","VERBS","NOUNS","ADJECTIVES","ADVERBS","LONG_WORDS","HTML_COLOR_NAME_SAMPLES","WORDS","randomWord","randomParagraph","fileExtensions","randomFile","name","extension","_extension","HEX_VALUES","randomHexColor","randomHexValue","randomHtmlColorName","IBAN_SAMPLES","randomIBAN","randomIP","randomName","randomFirstName","randomLastName","randomFullName","randomNumericCode","index","id","randomNumericId","randomPassword","randomUUID","digit12"],"mappings":"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CACF,CACF,ECvCO,IAAMO,EAAe,CAC1B,YACA,YACA,cACA,UACA,UACA,cACA,WACA,gBACA,cACA,UACA,UACA,SACA,gBACA,cACA,UACA,WACA,iBACA,WACA,SACA,SACA,SACA,SACF,ECvBO,IAAMC,EAAe,CAC1B,WACA,YACA,YACA,SACA,MACA,WACA,WACA,KACF,EAEaC,EAAa,CACxB,MACA,mBACA,WACA,gBACA,iBACA,cACA,iBACA,SACF,EAEaC,EAAoB,CAC/B,OACA,SACA,OACA,SACA,YACA,QACA,SACA,OACA,SACA,MACA,SACA,SACA,SACA,MACF,EAEaC,EAAmB,CAC9B,QACA,UACA,WACA,QACA,QACA,QACA,SACA,SACA,QACA,SACA,WACA,SACA,UACA,OACF,EAEaC,GAAuB,CAClC,6CACA,2BACA,uCACA,iCACA,2BACA,6CACA,yDACA,iCACA,uCACA,uCACA,qBACA,gCACF,EAEaC,GAAsB,CACjC,2BACA,6CACA,6CACA,iCACA,iCACA,iCACA,uCACA,uCACA,qBACA,uCACA,mDACA,iCACA,6CACA,0BACF,EAEaC,GAAuB,CAClC,iCACA,qBACA,iCACA,2BACA,qBACA,iCACA,6CACA,qBACA,2BACA,2BACA,qBACA,sCACF,EAEaC,GAAsB,CACjC,qBACA,iCACA,uCACA,iCACA,2BACA,2BACA,qBACA,iCACA,eACA,2BACA,uCACA,2BACA,iCACA,0BACF,EAEaC,GAAqB,CAChC,uCACA,qBACA,uCACA,iCACA,2BACA,iCACA,6CACA,2BACA,uCACA,uCACA,qBACA,gCACF,EAEaC,GAAoB,CAC/B,2BACA,uCACA,6CACA,2BACA,iCACA,iCACA,2BACA,uCACA,qBACA,uCACA,6CACA,iCACA,uCACA,0BACF,EAEaC,EAAc,CACzB,GAAGR,EACH,GAAGE,GACH,GAAGE,GACH,GAAGE,EACL,EAEaG,EAAa,CACxB,GAAGR,EACH,GAAGE,GACH,GAAGE,GACH,GAAGE,EACL,EChKO,IAAMG,EAAe,KAExBjC,EAAgBuB,CAAiB,EACjC,IACAvB,EAAgBwB,CAAgB,GAChC,YAAY,EAAIhC,EAAU,GAAI,EAAE,ECJ7B,IAAM0C,GAAc,IACzB,GAAGD,EAAa,KAAKjC,EAAgBoB,CAAY,ICN5C,IAAMe,EAAe,CAC1B,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACF,EAEaC,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EChBlE,IAAMC,GAAc,IAClBrC,EAAgBmC,CAAY,ECD9B,IAAMG,GAAmCC,GACvCvC,EACL,OAAO,KAAKuC,CAAU,EAAE,OAAQ7G,GAAQ,CAACQ,EAAUR,CAAG,CAAC,CACzD,ECHK,IAAM8G,GACXD,GACe,CACf,IAAIE,EAAuB,CAAC,EAE5B,cAAO,OAAOF,CAAU,EAAE,QAAS9F,GAAU,CAEvChB,EAAMgB,EAAO8F,CAAU,GAAK,CAACE,EAAO,SAAShG,CAAmB,GAClEgG,EAAO,KAAKF,EAAW9F,CAAgB,CAAC,CAC5C,CAAC,EAEMuD,EAAgByC,CAAM,CAC/B,ECfO,IAAMC,GAAQ,CACnB,QACA,SACA,SACA,aACA,UACA,UACA,MACA,QACA,MACA,SACA,SACA,QACA,QACA,UACA,SACA,SACA,QACA,QACA,QACA,KACA,KACA,OACA,MACF,EAEaC,GAAQ,CACnB,UACA,UACA,OACA,WACA,QACA,QACA,SACA,UACA,SACA,UACF,EAEaC,GAAa,CACxB,YACA,YACA,UACA,OACA,WACA,UACA,WACA,QACA,QACA,SACA,UACA,SACA,UACF,EAEaC,GAAU,CACrB,aACA,SACA,iBACA,aACA,WACA,aACA,YACA,eACA,gBACA,cACA,aACA,aACA,eACA,iBACF,EAEaC,GAAa,CACxB,gDACA,gCACA,iCACA,uCACA,+BACA,qCACA,6BACF,EAqEO,IAAMC,EAA0B,CACrC,YACA,OACA,aACA,QACA,QACA,SACA,QACA,OACA,aACA,QACA,YACA,YACA,aACA,YACA,QACA,gBACA,WACA,OACA,OACA,QACA,SACA,SACA,WACF,EAEaC,EAAQ,CACnB,GAAGN,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,EACL,EClLO,IAAMG,EAAa,IACjBjD,EAAgBgD,CAAK,ECAvB,IAAME,EAAkB,IACtBtJ,EAAWH,EAAM,EAAG,IAAMwJ,EAAW,CAAC,EAAE,KAAK,GAAG,CAAC,EAAI,ICD9D,IAAME,GAAiB,CAAC,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAM,EAGrDC,GAAa,CAAC,CACzB,KAAAC,EACA,UAAAC,CACF,EAGI,CAAC,IAAwB,CAC3B,GAAI,OAAO,MAAS,YAAa,OAEjC,IAAMC,EAAaD,GAAatD,EAAgBmD,EAAc,EAC9D,OAAO,IAAI,KACT,CAACD,EAAgB,CAAC,EAClB,GAAGG,GAAQJ,EAAW,KAAKM,IAC3B,CACE,KAAM,SAASA,GACjB,CACF,CACF,ECxBO,IAAMC,EAAa,CACxB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GACF,ECbO,IAAMC,GAAiB,IACrB,IAAMhK,EAAM,EAAG,IAAMuG,EAAgBwD,CAAU,CAAC,EAAE,KAAK,EAAE,ECF3D,IAAME,GAAiB,IACrB1D,EAAgBwD,CAAU,ECD5B,IAAMG,EAAsB,IAC1B3D,EAAgB+C,CAAuB,ECJzC,IAAMa,EAAe,CAC1B,2BACA,uBACA,mBACA,yBACA,yBACA,+BACA,wBACA,yBACA,+BACA,2BACA,yBACA,+BACA,uBACA,2BACA,qBACA,qBACA,8BACA,yBACA,wBACF,ECjBO,IAAMC,GAAa,IACjB7D,EAAgB4D,CAAY,ECF9B,IAAME,GAAW,IACf,GAAGtE,EAAU,EAAG,GAAG,EAAE,SAAS,KAAKA,EACxC,EACA,GACF,EAAE,SAAS,KAAKA,EAAU,EAAG,GAAG,EAAE,SAAS,KAAKA,EAC9C,EACA,GACF,EAAE,SAAS,ICCN,IAAMuE,GAAa,IACxB/D,EAAgB,CAAC,GAAGqB,EAAc,GAAGC,CAAU,CAAC,EAErC0C,GAAkB,IAAMhE,EAAgB+B,CAAW,EAEnDkC,GAAiB,IAAMjE,EAAgBgC,CAAU,EAEjDkC,GAAiB,IAC5BlE,EAAgBuB,CAAiB,EAAI,IAAMvB,EAAgBwB,CAAgB,ECLtE,IAAM2C,GAAoB,CAAC,CAAE,OAAAzK,EAAS,CAAE,EAAyB,CAAC,IAAM,CAC7E,GAAIA,EAAS,EACX,MAAM,IAAI,MAAM,mDAAmD,EAErE,OAAOD,EAAMC,EAAQ,CAAC4E,EAAG8F,IAAU5E,EAAW4E,EAAY,EAAJ,EAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAC1E,EClBA,IAAIC,GAAK,EAEIC,EAAkB,IACtBD,KCEF,IAAME,GAAiB,IAC5BZ,EAAoB,EACpB3D,EAAgBoC,CAAkB,EAClC5C,EAAU,GAAI,EAAE,ECCX,IAAMgF,GAAa,IAAM,CAC9B,IAAMH,EAAKC,EAAgB,EAAE,SAAS,EAAE,SAAS,GAAI,GAAG,EAClDG,EAAUJ,EAAG,UAAU,EAAG,EAAE,EAElC,MAAO,uBADQA,EAAG,UAAU,GAAI,EAAE,KACMI,GAC1C","sourcesContent":["export const array = <U extends (...args: any) => any>(\n length: number,\n mapFn: U\n): ReturnType<U>[] => {\n return Array.from({ length }, mapFn);\n};\n","export const capitalize = (string: string) => {\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n","export const clamp = ({\n number,\n min,\n max,\n}: {\n number: number;\n min: number;\n max: number;\n}) => {\n if (max < min && process.env.DEVERYTHING_WARNINGS) {\n console.warn(\"clamp: max < min\", { number, min, max });\n }\n\n if (number < min) {\n return min;\n }\n\n if (number > max) {\n return max;\n }\n\n return number;\n};\n","export const cleanSpaces = (str: string): string => {\n return str.trim().replace(/\\s{2,}/g, \" \");\n};\n","export const first = <T>(arr?: T[]): T | undefined => arr?.[0];\n","export const getKeys = (arg: object) => {\n return Object.keys(arg).concat(getEnumerableOwnPropertySymbols(arg));\n};\n\n// Object.keys does not return enumerable symbols\nexport const getEnumerableOwnPropertySymbols = (arg: object): any[] => {\n return Object.getOwnPropertySymbols\n ? Object.getOwnPropertySymbols(arg).filter(function (symbol) {\n return Object.propertyIsEnumerable.call(arg, symbol);\n })\n : [];\n};\n","export const last = <T>(arr?: T[]): T | undefined => arr?.[arr.length - 1];\n","export const isArray = <T>(arg?: any): arg is T[] => Array.isArray(arg);\n","export const isBoolean = (arg: any) =>\n Object.prototype.toString.call(arg) === \"[object Boolean]\";\n","export const isServer = () => typeof window === \"undefined\";\n","import { isServer } from \"./isServer\";\n\nexport const isClient = () => !isServer();\n","import { isClient } from \"./isClient\";\n\nexport const isBrowser = isClient;\n","export const isString = (arg: any) => typeof arg === \"string\";\n","import { isString } from \"./isString\";\n\nexport const isEmail = (arg: string) =>\n isString(arg) && /\\S+@\\S+\\.\\S+/.test(arg);\n","export const isObject = <T>(arg?: any): arg is Record<string, T> =>\n Object.prototype.toString.call(arg) === \"[object Object]\";\n","import { Maybe } from \"../types\";\nimport { isArray } from \"./isArray\";\nimport { isObject } from \"./isObject\";\nimport { isString } from \"./isString\";\n\nexport const isEmpty = (arg?: Maybe<any>) => {\n if (isEmptyObject(arg)) return true;\n if (isEmptyArray(arg)) return true;\n if (isEmptyString(arg)) return true;\n\n return arg === undefined || arg === null;\n};\n\nexport const isEmptyString = (arg: string) => {\n return isString(arg) && arg.trim().length === 0;\n};\n\nexport const isEmptyArray = (arg: any[]) => {\n return isArray(arg) && arg.length === 0;\n};\n\nexport const isEmptyObject = (arg: Object) => {\n return isObject(arg) && Object.keys(arg).length === 0;\n};\n","export const isFunction = (arg: any) =>\n Object.prototype.toString.call(arg) === \"[object Function]\";\n","export const isJsDate = (arg: Date): arg is Date =>\n Object.prototype.toString.call(arg) === \"[object Date]\" &&\n !isNaN(arg as unknown as number);\n","export const isKey = <T extends object>(\n key: string | number | symbol,\n obj: T\n): key is keyof T =>\n obj.hasOwnProperty(key) && // makes sure the prop is not in the prototype chain\n obj.propertyIsEnumerable(key); // makes sure the prop is not a getter/setter\n","export const isInt = (arg: number) => Number.isInteger(arg);\n\nexport const isEven = (arg: number) => isInt(arg) && !(arg % 2);\n\nexport const isOdd = (arg: number) => isInt(arg) && !!(arg % 2);\n\nexport const isPositive = (arg: number) => isInt(arg) && arg > 0;\n\nexport const isNegative = (arg: number) => isInt(arg) && arg < 0;\n\nexport const isNumber = (arg: any): arg is number => {\n return (\n Object.prototype.toString.apply(arg) === \"[object Number]\" && isFinite(arg)\n );\n};\n","export const isNumeric = (num: number | string): boolean => {\n return !isNaN(num as number); // isNaN DOES actually work with string-numbers!\n};\n","export const isPromise = (arg: any) => arg instanceof Promise;\n","import { isClient } from \"./isClient\";\n\nexport const isPWA = () => {\n return isClient() && window.matchMedia(\"(display-mode: standalone)\").matches; // credits to Narcis\n};\n","var canUseSymbol = typeof Symbol === \"function\" && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for(\"react.element\") : 0xeac7;\n\nexport const isReactElement = (value: any) => {\n return value.$$typeof === REACT_ELEMENT_TYPE;\n};\n","export const isRegExp = (arg: any): arg is RegExp =>\n Object.prototype.toString.call(arg) === \"[object RegExp]\";\n","import { isJsDate } from \"./isJsDate\";\n\nexport const isStringDate = (arg: string) => {\n const date = new Date(arg);\n return isJsDate(date);\n};\n","export const isUndefined = (arg: any) => typeof arg === \"undefined\";\n","const pattern = new RegExp(\n \"^(https?:\\\\/\\\\/)?\" + // protocol\n \"((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.?)+[a-z]{2,}|\" + // domain name\n \"((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))\" + // OR ip (v4) address\n \"(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*\" + // port and path\n \"(\\\\?[;&a-z\\\\d%_.~+=-]*)?\" + // query string\n \"(\\\\#[-a-z\\\\d_]*)?$\",\n \"i\"\n); // fragment locator\n\nexport const isURL = (arg: string) => {\n return !!arg && pattern.test(arg);\n};\n","export const isUUID = (arg: string) =>\n /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(\n arg\n );\n","import { Maybe } from \"../types\";\n\nexport const isValue = (arg?: Maybe<any>) => {\n return arg !== undefined && arg !== null && !Number.isNaN(arg);\n};\n","import { PlainObject } from \"../types\";\nimport { isKey, isObject } from \"../validators\";\nimport { getKeys } from \"./getKeys\";\n\n// Simple merge function that merges two objects, arrays get overwritten, no options\nexport const merge = (target: PlainObject, source: PlainObject) => {\n const merger: PlainObject = {};\n getKeys(target).forEach((key) => {\n merger[key] = isObject(target[key]) ? merge({}, target[key]) : target[key];\n });\n getKeys(source).forEach((key) => {\n if (isKey(key, target))\n merger[key] =\n isObject(target[key]) && isObject(source[key])\n ? merge(target[key], source[key])\n : source[key];\n else\n merger[key] = isObject(source[key])\n ? merge({}, source[key])\n : source[key];\n });\n return merger;\n};\n","export const moveToFirst = <T>(\n items: T[],\n condition: (item: T, i: number, items: T[]) => boolean\n): T[] => {\n const resortedItems = [...items];\n for (let i = 0; i < resortedItems.length; i++) {\n if (condition(resortedItems[i], i, resortedItems)) {\n let firstItem = resortedItems.splice(i, 1);\n resortedItems.unshift(firstItem[0]);\n break;\n }\n }\n return resortedItems;\n};\n","export const moveToLast = <T>(\n items: T[],\n condition: (item: T, i: number, items: T[]) => boolean\n): T[] => {\n const resortedItems = [...items];\n for (let i = 0; i < resortedItems.length; i++) {\n if (condition(resortedItems[i], i, resortedItems)) {\n let lastItem = resortedItems.splice(i, 1)[0];\n resortedItems.push(lastItem);\n break;\n }\n }\n return resortedItems;\n};\n","import { DateLike, Maybe } from \"../types\";\nimport { isEmpty } from \"../validators/isEmpty\";\nimport { isJsDate } from \"../validators/isJsDate\";\n\nexport const parseDate = (arg?: Maybe<DateLike>) => {\n if (isEmpty(arg)) return;\n\n const date = new Date(arg!);\n\n if (!isJsDate(date)) return;\n\n return date;\n};\n","export const pretty = (arg: any) => {\n return JSON.stringify(arg, null, 2);\n};\n","export const promiseWithTimeout = <T>(\n promise: () => Promise<T>,\n timeoutMs: number,\n error?: Error\n): Promise<T> => {\n let timeout: ReturnType<typeof setTimeout>;\n const timeoutPromise = new Promise<never>((_, reject) => {\n timeout = setTimeout(\n () => reject(error ?? new Error(\"Promise timed out\")),\n timeoutMs\n );\n });\n\n return Promise.race([promise(), timeoutPromise]).finally(() => {\n clearTimeout(timeout);\n });\n};\n","export const sleep = (timeMs: number): Promise<void> => {\n return new Promise((resolve) => {\n setTimeout(resolve, timeMs);\n });\n};\n","import { isArray } from \"../validators\";\n\nexport const toggleArray = <T>(arg: T[], value: T) => {\n if (isArray<T>(arg)) {\n const copy: T[] = arg.reduce((acc: T[], val) => {\n if (val !== value) acc.push(val);\n return acc;\n }, []);\n if (copy.length === arg.length) copy.push(value);\n return copy;\n }\n\n return arg;\n};\n","import { isPositive } from \"../validators/isNumber\";\n\nexport const truncate = (arg: string, limit: number, ellipsis = \"...\") => {\n if (!isPositive(limit)) return arg;\n\n const argArray = [...arg]; // convert string to array, emoji and unicode safe\n\n if (argArray.length <= limit) return arg;\n\n return argArray.slice(0, limit).join(\"\") + ellipsis;\n};\n","export const UK_ADDRESSES = [\n {\n city: \"London\",\n country: \"United Kingdom\",\n street: \"Baker Street\",\n number: \"221B\",\n zip: \"NW1 6XE\",\n },\n {\n city: \"Birmingham\",\n country: \"United Kingdom\",\n street: \"Bordesley Street\",\n number: \"B1 1AA\",\n zip: \"B1 1AA\",\n },\n];\n\nexport const US_ADDRESSES = [\n {\n city: \"New York\",\n country: \"United States\",\n street: \"Broadway\",\n number: \"42\",\n zip: \"10036\",\n },\n {\n city: \"Los Angeles\",\n country: \"United States\",\n street: \"Hollywood Boulevard\",\n number: \"6801\",\n zip: \"90028\",\n },\n];\n\nexport const EUROPE_ADDRESSES = [\n {\n city: \"Paris\",\n country: \"France\",\n street: \"Rue de Rivoli\",\n number: \"75001\",\n zip: \"75001\",\n },\n {\n city: \"Berlin\",\n country: \"Germany\",\n street: \"Unter den Linden\",\n number: \"10117\",\n zip: \"10117\",\n },\n {\n city: \"Rome\",\n country: \"Italy\",\n street: \"Via del Corso\",\n number: \"00186\",\n zip: \"00186\",\n },\n {\n city: \"Madrid\",\n country: \"Spain\",\n street: \"Gran Vía\",\n number: \"28013\",\n zip: \"28013\",\n },\n];\n\nexport const MIXED_ADDRESSES = [\n {\n city: \"Moscow\",\n country: \"Russia\",\n street: \"Tverskaya\",\n number: \"101000\",\n zip: \"101000\",\n },\n {\n city: \"Tokyo\",\n country: \"Japan\",\n street: \"Shinjuku\",\n number: \"160-0022\",\n zip: \"160-0022\",\n },\n {\n city: \"Beijing\",\n country: \"China\",\n street: \"Changan\",\n number: \"100005\",\n zip: \"100005\",\n },\n {\n city: \"Cairo\",\n country: \"Egypt\",\n street: \"Al-Muizz\",\n number: \"11511\",\n\n zip: \"11511\",\n },\n {\n city: \"Buenos Aires\",\n country: \"Argentina\",\n street: \"Avenida de Mayo\",\n number: \"1002\",\n zip: \"C1006AAQ\",\n },\n {\n city: \"Cape Town\",\n country: \"South Africa\",\n street: \"Adderley\",\n number: \"7700\",\n zip: \"7700\",\n },\n {\n city: \"Sydney\",\n country: \"Australia\",\n street: \"George\",\n number: \"2000\",\n zip: \"2000\",\n },\n {\n city: \"Rio de Janeiro\",\n country: \"Brazil\",\n street: \"Av. Presidente Vargas\",\n number: \"20021-000\",\n zip: \"20021-000\",\n },\n {\n city: \"Mexico City\",\n country: \"Mexico\",\n street: \"Paseo de la Reforma\",\n number: \"06500\",\n zip: \"06500\",\n },\n];\n\nexport const ADDRESSES = [\n ...UK_ADDRESSES,\n ...US_ADDRESSES,\n ...EUROPE_ADDRESSES,\n ...MIXED_ADDRESSES,\n];\n\nexport const CITIES = [\n \"London\",\n \"Birmingham\",\n \"New York\",\n \"Los Angeles\",\n \"Paris\",\n \"Berlin\",\n \"Rome\",\n \"Madrid\",\n \"Moscow\",\n \"Tokyo\",\n \"Beijing\",\n \"Cairo\",\n \"Buenos Aires\",\n \"Cape Town\",\n \"Sydney\",\n \"Rio de Janeiro\",\n \"Mexico City\",\n];\n\nexport const US_STATE_CODE_SAMPLES = [\n \"AL\",\n \"AK\",\n \"AZ\",\n \"AR\",\n \"CA\",\n \"CO\",\n \"CT\",\n \"DE\",\n \"FL\",\n \"GA\",\n \"HI\",\n];\n\nexport const ZIP_SAMPLES = [\n \"10036\",\n \"90028\",\n \"75001\",\n \"10117\",\n \"00186\",\n \"28013\",\n \"101000\",\n];\n","export const randomInt = (start: number = -100, end: number = 100): number =>\n Math.floor(Math.random() * (end - start + 1) + start);\n\nexport const randomPositiveInt = (end: number = 100): number =>\n randomInt(1, end);\n\nexport const randomNegativeInt = (start: number = -100): number =>\n randomInt(start, -1);\n\nexport const randomMaxSafeInt = () =>\n randomInt(-Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n\nexport const randomMaxInt = () =>\n randomInt(-Number.MAX_VALUE, Number.MAX_VALUE);\n\nexport const randomPercentage = () => randomInt(-100, 100);\n","import { randomInt } from \"./randomInt\";\n\nexport const randomArrayItem = <T>(array: T[]): T => {\n return array[randomInt(0, array.length - 1)];\n};\n","import { ADDRESSES } from \"../constants/addresses\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomAddress = () => {\n return randomArrayItem(ADDRESSES);\n};\n","import { array } from \"../helpers/array\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\n//avoid 0s and Os as they get confused with each other\nconst chars = \"123456789ABCDEFGHIJKLMNPQRSTUVWXYZ\".split(\"\");\n\n/**\n * Generates a random alphanumeric code that can be used for verification codes, etc.\n * Does not contain 0s or Os as they get confused with each other.\n * @param length The length of the code to generate.\n * @returns A random alphanumeric code.\n * @example\n * randomAlphaNumericCode(); => \"A2G4G6\"\n */\nexport const randomAlphaNumericCode = ({\n length = 6,\n}: { length?: number } = {}) => {\n if (length < 1)\n throw new Error(\"randomAlphaNumericCode: Length must be greater than 0.\");\n\n return array(length, () => randomArrayItem(chars)).join(\"\");\n};\n","import { randomInt } from \"./randomInt\";\n\nexport const randomBool = () => !!randomInt(0, 1);\n","import { isValue } from \"../validators/isValue\";\n\n// Max js digits is theoretically 17, but is actually 16, see Math.random output.\nexport const JS_MAX_DIGITS = 16;\n\n// TODO: with big numbers there will be less digits\nexport const randomFloat = (\n min: number = -9,\n max: number = 9,\n decimals?: number // toFixed accepts max 100 anyway... even if the docs say 20\n) => {\n const float = Math.random() * (max - min) + min;\n\n if (isValue(decimals)) return parseFloat(float.toFixed(decimals));\n\n return float;\n};\n\n// TODO: randomBigFloat\n","import { Coords } from \"../types\";\nimport { randomFloat } from \"./randomFloat\";\n\nexport const randomCoords = (): Coords => {\n return {\n lat: randomLat(),\n lng: randomLng(),\n };\n};\n\nexport const randomLat = () => {\n return randomFloat(-90, 90);\n};\n\nexport const randomLng = () => {\n return randomFloat(-180, 180);\n};\n","import {\n MILLISECONDS_IN_DECADE,\n MAX_DATE_MILLISECONDS,\n MILLISECONDS_IN_MINUTE,\n} from \"../constants/time\";\n\nexport const randomDate = (start?: Date, end?: Date) => {\n const startDate = start || new Date(-MILLISECONDS_IN_DECADE);\n const endDate = end || new Date(MILLISECONDS_IN_DECADE);\n return new Date(\n startDate.getTime() +\n Math.random() * (endDate.getTime() - startDate.getTime())\n );\n};\n\nexport const randomMaxDate = (start?: Date, end?: Date) => {\n const startDate = start || new Date(-MAX_DATE_MILLISECONDS);\n const endDate = end || new Date(MAX_DATE_MILLISECONDS);\n return randomDate(startDate, endDate);\n};\n\nexport const randomFutureDate = () => {\n // Add a safe margin in the future (i.e. lagging tests). About 5 minutes is enough.\n const safeNow = new Date(new Date().getTime() + 5 * MILLISECONDS_IN_MINUTE);\n return randomDate(safeNow);\n};\n\nexport const randomPastDate = () => {\n return randomDate(undefined, new Date());\n};\n\nexport const randomDateRange = () => {\n const startDate = randomDate();\n const endDate = randomDate(startDate);\n\n return {\n endDate,\n startDate,\n };\n};\n","export const DOMAIN_NAMES = [\n \"gmail.com\",\n \"yahoo.com\",\n \"hotmail.com\",\n \"aol.com\",\n \"msn.com\",\n \"comcast.net\",\n \"live.com\",\n \"sbcglobal.net\",\n \"verizon.net\",\n \"att.net\",\n \"mac.com\",\n \"me.com\",\n \"earthlink.net\",\n \"charter.net\",\n \"shaw.ca\",\n \"yahoo.ca\",\n \"googlemail.com\",\n \"mail.com\",\n \"qq.com\",\n \"web.de\",\n \"gmx.de\",\n \"mail.ru\",\n];\n","export const ANIMAL_NAMES = [\n \"Aardvark\",\n \"Albatross\",\n \"Alligator\",\n \"Alpaca\",\n \"Ant\",\n \"Anteater\",\n \"Antelope\",\n \"Ape\",\n];\n\nexport const TOOL_NAMES = [\n \"Axe\",\n \"Ball Peen Hammer\",\n \"Band Saw\",\n \"Bench Grinder\",\n \"Biscuit Joiner\",\n \"Bolt Cutter\",\n \"Boring Machine\",\n \"Bow Saw\",\n];\n\nexport const LATIN_FIRST_NAMES = [\n \"Adam\",\n \"Adrian\",\n \"Alan\",\n \"Albert\",\n \"Alexander\",\n \"Alice\",\n \"Amanda\",\n \"Emma\",\n \"Amelia\",\n \"Amy\",\n \"Andrew\",\n \"Esther\",\n \"Olivia\",\n \"Ruby\",\n];\n\nexport const LATIN_LAST_NAMES = [\n \"Smith\",\n \"Johnson\",\n \"Williams\",\n \"Jones\",\n \"Brown\",\n \"Davis\",\n \"Miller\",\n \"Wilson\",\n \"Moore\",\n \"Taylor\",\n \"Anderson\",\n \"Thomas\",\n \"Jackson\",\n \"White\",\n];\n\nexport const CYRILLIC_FIRST_NAMES = [\n \"Абигаил\",\n \"Адам\",\n \"Адриан\",\n \"Агнес\",\n \"Алан\",\n \"Альберт\",\n \"Александр\",\n \"Алиса\",\n \"Аманда\",\n \"Амелия\",\n \"Эми\",\n \"Эндрю\",\n];\n\nexport const CYRILLIC_LAST_NAMES = [\n \"Смит\",\n \"Джонсон\",\n \"Уильямс\",\n \"Джонс\",\n \"Браун\",\n \"Дэвис\",\n \"Миллер\",\n \"Вилсон\",\n \"Мур\",\n \"Тейлор\",\n \"Андерсон\",\n \"Томас\",\n \"Джексон\",\n \"Уайт\",\n];\n\nexport const JAPANESE_FIRST_NAMES = [\n \"アビゲイル\",\n \"アダム\",\n \"アドリアン\",\n \"アグネス\",\n \"アラン\",\n \"アルバート\",\n \"アレクサンダー\",\n \"アリス\",\n \"アマンダ\",\n \"アメリア\",\n \"アミー\",\n \"アンドリュー\",\n];\n\nexport const JAPANESE_LAST_NAMES = [\n \"スミス\",\n \"ジョンソン\",\n \"ウィリアムズ\",\n \"ジョーンズ\",\n \"ブラウン\",\n \"デイビス\",\n \"ミラー\",\n \"ウィルソン\",\n \"モア\",\n \"タイラー\",\n \"アンダーソン\",\n \"トーマス\",\n \"ジャクソン\",\n \"ホワイト\",\n];\n\nexport const ARABIC_FIRST_NAMES = [\n \"أبيجيل\",\n \"آدم\",\n \"آدريان\",\n \"أغنيس\",\n \"آلان\",\n \"آلبرت\",\n \"ألكسندر\",\n \"آليس\",\n \"آماندا\",\n \"آميليا\",\n \"آمي\",\n \"أندرو\",\n];\n\nexport const ARABIC_LAST_NAMES = [\n \"سميث\",\n \"جونسون\",\n \"ويليامز\",\n \"جونز\",\n \"براون\",\n \"ديفيس\",\n \"ميلر\",\n \"ويلسون\",\n \"مور\",\n \"تايلور\",\n \"أندرسون\",\n \"توماس\",\n \"جاكسون\",\n \"وايت\",\n];\n\nexport const FIRST_NAMES = [\n ...LATIN_FIRST_NAMES,\n ...CYRILLIC_FIRST_NAMES,\n ...JAPANESE_FIRST_NAMES,\n ...ARABIC_FIRST_NAMES,\n];\n\nexport const LAST_NAMES = [\n ...LATIN_LAST_NAMES,\n ...CYRILLIC_LAST_NAMES,\n ...JAPANESE_LAST_NAMES,\n ...ARABIC_LAST_NAMES,\n];\n","import { LATIN_FIRST_NAMES, LATIN_LAST_NAMES } from \"../constants/names\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomInt } from \"./randomInt\";\n\nexport const randomHandle = () =>\n (\n randomArrayItem(LATIN_FIRST_NAMES) +\n \".\" +\n randomArrayItem(LATIN_LAST_NAMES)\n ).toLowerCase() + randomInt(11, 99);\n","import { DOMAIN_NAMES } from \"../constants/domains\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomHandle } from \"./randomHandle\";\n\n//Use randomId() to generate a unique email\nexport const randomEmail = () =>\n `${randomHandle()}@${randomArrayItem(DOMAIN_NAMES)}`;\n","export const EMOJI_SAMPLE = [\n \"😀\",\n \"😁\",\n \"😂\",\n \"🤣\",\n \"😃\",\n \"😄\",\n \"😅\",\n \"😆\",\n \"😉\",\n \"😊\",\n \"😋\",\n \"😎\",\n \"😍\",\n \"😘\",\n \"😗\",\n \"😙\",\n];\n\nexport const SPECIAL_CHARACTERS = [\"!\", \"@\", \"#\", \"$\", \"%\", \"^\", \"&\", \"*\"];\n","import { EMOJI_SAMPLE } from \"../constants/unicode\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEmoji = () => {\n return randomArrayItem(EMOJI_SAMPLE);\n};\n","import { isNumeric } from \"../validators/isNumeric\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEnumKey = <T extends object>(enumObject: T): keyof T => {\n return randomArrayItem(\n Object.keys(enumObject).filter((key) => !isNumeric(key)) // key cannot be a number\n ) as keyof T;\n};\n","import { isKey } from \"../validators/isKey\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEnumValue = <T extends object>(\n enumObject: T\n): T[keyof T] => {\n let values: T[keyof T][] = [];\n\n Object.values(enumObject).forEach((value) => {\n // types are tricky here because the value is used also to check if exists as a key\n if (isKey(value, enumObject) && !values.includes(value as T[keyof T]))\n values.push(enumObject[value as keyof T]);\n });\n\n return randomArrayItem(values);\n};\n","export const VERBS = [\n \"abide\",\n \"abound\",\n \"accept\",\n \"accomplish\",\n \"achieve\",\n \"acquire\",\n \"act\",\n \"adapt\",\n \"add\",\n \"adjust\",\n \"admire\",\n \"admit\",\n \"adopt\",\n \"advance\",\n \"advise\",\n \"afford\",\n \"agree\",\n \"alert\",\n \"allow\",\n \"be\",\n \"go\",\n \"need\",\n \"work\",\n];\n\nexport const NOUNS = [\n \"abandon\",\n \"ability\",\n \"able\",\n \"abortion\",\n \"about\",\n \"above\",\n \"abroad\",\n \"absence\",\n \"absent\",\n \"absolute\",\n];\n\nexport const ADJECTIVES = [\n \"abandoned\",\n \"abdominal\",\n \"ability\",\n \"able\",\n \"abnormal\",\n \"abolish\",\n \"abortion\",\n \"about\",\n \"above\",\n \"abroad\",\n \"absence\",\n \"absent\",\n \"absolute\",\n];\n\nexport const ADVERBS = [\n \"abnormally\",\n \"aboard\",\n \"absentmindedly\",\n \"absolutely\",\n \"absurdly\",\n \"abundantly\",\n \"abysmally\",\n \"academically\",\n \"acceleratedly\",\n \"accentually\",\n \"acceptably\",\n \"accessibly\",\n \"accidentally\",\n \"accommodatingly\",\n];\n\nexport const LONG_WORDS = [\n \"Pneumonoultramicroscopicsilicovolcanoconiosis\",\n \"Floccinaucinihilipilification\",\n \"Pseudopseudohypoparathyroidism\",\n \"Hippopotomonstrosesquippedaliophobia\",\n \"Antidisestablishmentarianism\",\n \"Supercalifragilisticexpialidocious\",\n \"Honorificabilitudinitatibus\",\n];\n\nexport const JS_RESERVED_WORDS = [\n \"abstract\",\n \"arguments\",\n \"await\",\n \"boolean\",\n \"break\",\n \"byte\",\n \"case\",\n \"catch\",\n \"char\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"double\",\n \"else\",\n \"enum*\",\n \"eval\",\n \"export\",\n \"extends\",\n \"false\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"function\",\n \"goto\",\n \"if\",\n \"implements\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"int\",\n \"interface\",\n \"let\",\n \"long\",\n \"native\",\n \"new\",\n \"null\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"return\",\n \"short\",\n \"static\",\n \"super\",\n \"switch\",\n \"synchronized\",\n \"this\",\n \"throw\",\n \"throws\",\n \"transient\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"volatile\",\n \"while\",\n \"with\",\n \"yield\",\n];\n\nexport const HTML_COLOR_NAME_SAMPLES = [\n \"AliceBlue\",\n \"Aqua\",\n \"Aquamarine\",\n \"Azure\",\n \"Beige\",\n \"Bisque\",\n \"Black\",\n \"Blue\",\n \"BlueViolet\",\n \"Brown\",\n \"BurlyWood\",\n \"CadetBlue\",\n \"Chartreuse\",\n \"Chocolate\",\n \"Coral\",\n \"DarkSlateGray\",\n \"DeepPink\",\n \"Gold\",\n \"Lime\",\n \"Olive\",\n \"Orchid\",\n \"Salmon\",\n \"Turquoise\",\n];\n\nexport const WORDS = [\n ...VERBS,\n ...NOUNS,\n ...ADJECTIVES,\n ...ADVERBS,\n ...LONG_WORDS,\n];\n","import { WORDS } from \"../constants/words\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomWord = () => {\n return randomArrayItem(WORDS);\n};\n","import { array } from \"../helpers\";\nimport { capitalize } from \"../helpers/capitalize\";\nimport { randomWord } from \"./randomWord\";\n\nexport const randomParagraph = () => {\n return capitalize(array(8, () => randomWord()).join(\" \")) + \".\";\n};\n","import { randomArrayItem } from \"./randomArrayItem\";\nimport { randomParagraph } from \"./randomParagraph\";\nimport { randomWord } from \"./randomWord\";\n\nconst fileExtensions = [\"png\", \"jpg\", \"jpeg\", \"gif\", \"svg\", \"webp\"];\n\n// This is a client only function\nexport const randomFile = ({\n name,\n extension,\n}: {\n name?: string;\n extension?: string;\n} = {}): File | undefined => {\n if (typeof File === \"undefined\") return undefined;\n\n const _extension = extension || randomArrayItem(fileExtensions);\n return new File(\n [randomParagraph()], // TODO: Use random char string\n `${name || randomWord()}.${_extension}`,\n {\n type: `image/${_extension}`,\n }\n );\n};\n","export const HEX_VALUES = [\n \"0\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n];\n","import { HEX_VALUES } from \"../constants/hex\";\nimport { array } from \"../helpers\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHexColor = () => {\n return \"#\" + array(6, () => randomArrayItem(HEX_VALUES)).join(\"\");\n};\n","import { HEX_VALUES } from \"../constants/hex\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHexValue = () => {\n return randomArrayItem(HEX_VALUES);\n};\n","import { HTML_COLOR_NAME_SAMPLES } from \"../constants/words\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHtmlColorName = () => {\n return randomArrayItem(HTML_COLOR_NAME_SAMPLES);\n};\n","export const IBAN_SAMPLES = [\n \"AD1200012030200359100100\",\n \"BA391290079401028494\",\n \"BE68539007547034\",\n \"BG80BNBG96611020345678\",\n \"BH67BMAG00001299123456\",\n \"BY13NBRB3600900000002Z00AB00\",\n \"CH9300762011623852957\",\n \"CR05015202001026284066\",\n \"CY17002001280000001200527600\",\n \"CZ6508000000192000145399\",\n \"DE89370400440532013000\",\n \"DO28BAGR00000001212453611324\",\n \"EE382200221020145685\",\n \"ES9121000418450200051332\",\n \"FI2112345600000785\",\n \"FO6264600001631634\",\n \"FR1420041010050500013M02606\",\n \"GB29NWBK60161331926819\",\n \"GE29NB0000000101904917\",\n];\n\nexport const BIC_SWIFT_SAMPLES = [\n \"ABNANL2A\",\n \"BKENGB2LXXX\",\n \"BUKBGB22\",\n \"CITIUS33\",\n \"CITIUS33XXX\",\n \"CSCHUS6SXXX\",\n \"NOSCCATTXXX\",\n];\n\nexport const CARD_NUMBER_SAMPLES = [\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n];\n\n//An ABA routing number is a nine-digit code that identifies banks in the U.S.\nexport const ABA_NUMBER_SAMPLES = [\n \"111000025\",\n \"081000210\",\n \"104000029\",\n \"091300023\",\n \"123000220\",\n];\n\nexport const ROUTING_NUMBER_SAMPLES = [\n \"637530215\",\n \"130436324\",\n \"611531133\",\n \"865673685\",\n];\n\nexport const BANK_ACCOUNT_NUMBER_SAMPLES = [\n \"64766774\",\n \"39526009\",\n \"25048213\",\n \"72796383\",\n];\n\nexport const VAT_REGISTRATION_NUMBER_SAMPLES = [\n \"IE1234567T\",\n \"GB123456789\",\n \"XI123456789\",\n];\n\nexport const SORT_CODE_SAMPLES = [\"100000\", \"902127\", \"800551\"];\n\nexport const SSN_SAMPLES = [\"235-55-7216\", \"372-37-3976\", \"414-99-6488\"];\n\nexport const BANK_NAME_SAMPLES = [\n \"Bank of England\",\n \"Bank of Ireland\",\n \"Bank of Scotland\",\n \"Bank of America\",\n];\n\nexport const COMPANY_NAME_SAMPLES = [\n \"Acme Inc.\",\n \"Acme Corp.\",\n \"Acme Ltd.\",\n \"Acme LLC\",\n \"Umbrella Corp.\",\n \"Umbrella Inc.\",\n \"Umbrella Ltd.\",\n \"Umbrella LLC\",\n];\n","import { IBAN_SAMPLES } from \"../constants/banking\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomIBAN = () => {\n return randomArrayItem(IBAN_SAMPLES);\n};\n","import { randomInt } from \"./randomInt\";\n\nexport const randomIP = () => {\n return `${randomInt(0, 255).toString()}.${randomInt(\n 0,\n 255\n ).toString()}.${randomInt(0, 255).toString()}.${randomInt(\n 0,\n 255\n ).toString()}`;\n};\n","import {\n ANIMAL_NAMES,\n FIRST_NAMES,\n LAST_NAMES,\n LATIN_FIRST_NAMES,\n LATIN_LAST_NAMES,\n TOOL_NAMES,\n} from \"../constants/names\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomName = () =>\n randomArrayItem([...ANIMAL_NAMES, ...TOOL_NAMES]);\n\nexport const randomFirstName = () => randomArrayItem(FIRST_NAMES);\n\nexport const randomLastName = () => randomArrayItem(LAST_NAMES);\n\nexport const randomFullName = () =>\n randomArrayItem(LATIN_FIRST_NAMES) + \" \" + randomArrayItem(LATIN_LAST_NAMES);\n","import { array } from \"../helpers/array\";\nimport { randomInt } from \"./randomInt\";\n\n/**\n * Generates a random numeric code that can be used for verification codes, etc.\n * Does not start with 0.\n * @param length The length of the code to generate.\n * @returns A random numeric code.\n * @example\n * randomNumericCode(); => \"123456\"\n * @example\n * randomNumericCode({ length: 4 }); => \"1234\"\n */\nexport const randomNumericCode = ({ length = 6 }: { length?: number } = {}) => {\n if (length < 1)\n throw new Error(\"randomNumericCode: Length must be greater than 0.\");\n\n return array(length, (_, index) => randomInt(!index ? 1 : 0, 9)).join(\"\");\n};\n","let id = 1; // don't start with 0, to be closer to SQL autoincrement\n\nexport const randomNumericId = () => {\n return id++;\n};\n","import { SPECIAL_CHARACTERS } from \"../constants/unicode\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomHtmlColorName } from \"./randomHtmlColorName\";\nimport { randomInt } from \"./randomInt\";\n\nexport const randomPassword = () =>\n randomHtmlColorName() + // So it has an upper case\n randomArrayItem(SPECIAL_CHARACTERS) + // So it has a special character\n randomInt(11, 99); // So it has a number\n","import { randomNumericId } from \"./randomNumericId\";\n\n/**\n * This is a light-weight version of the `generateUuid` function\n * To be used only for test purposed and NOT for production\n * Leave 0s, so it gets immediately recognized as a fake uuid\n *\n * /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i\n */\nexport const randomUUID = () => {\n const id = randomNumericId().toString().padStart(15, \"0\");\n const digit12 = id.substring(0, 12);\n const digit3 = id.substring(12, 15);\n return `00000000-0000-1000-8${digit3}-${digit12}`;\n};\n"]}
1
+ {"version":3,"sources":["../src/helpers/array.ts","../src/helpers/capitalize.ts","../src/helpers/clamp.ts","../src/helpers/cleanSpaces.ts","../src/helpers/first.ts","../src/helpers/getKeys.ts","../src/helpers/last.ts","../src/validators/isArray.ts","../src/validators/isBoolean.ts","../src/validators/isServer.ts","../src/validators/isClient.ts","../src/validators/isBrowser.ts","../src/validators/isString.ts","../src/validators/isEmail.ts","../src/validators/isObject.ts","../src/validators/isEmpty.ts","../src/validators/isFunction.ts","../src/validators/isJsDate.ts","../src/validators/isKey.ts","../src/validators/isNumber.ts","../src/validators/isNumeric.ts","../src/validators/isPromise.ts","../src/validators/isPWA.ts","../src/validators/isReactElement.ts","../src/validators/isRegExp.ts","../src/validators/isStringDate.ts","../src/validators/isUndefined.ts","../src/validators/isURL.ts","../src/validators/isUUID.ts","../src/validators/isValue.ts","../src/helpers/merge.ts","../src/helpers/moveToFirst.ts","../src/helpers/moveToLast.ts","../src/helpers/parseDate.ts","../src/helpers/pretty.ts","../src/helpers/promiseWithTimeout.ts","../src/helpers/sleep.ts","../src/helpers/toggleArray.ts","../src/helpers/truncate.ts","../src/constants/addresses.ts","../src/random/randomInt.ts","../src/random/randomArrayItem.ts","../src/random/randomAddress.ts","../src/random/randomAlphaNumericCode.ts","../src/random/randomBool.ts","../src/random/randomFloat.ts","../src/random/randomCoords.ts","../src/random/randomDate.ts","../src/constants/domains.ts","../src/constants/names.ts","../src/random/randomHandle.ts","../src/random/randomEmail.ts","../src/constants/unicode.ts","../src/random/randomEmoji.ts","../src/random/randomEnumKey.ts","../src/random/randomEnumValue.ts","../src/constants/words.ts","../src/random/randomWord.ts","../src/random/randomParagraph.ts","../src/random/randomFile.ts","../src/constants/hex.ts","../src/random/randomHexColor.ts","../src/random/randomHexValue.ts","../src/random/randomHtmlColorName.ts","../src/constants/banking.ts","../src/random/randomIBAN.ts","../src/random/randomIP.ts","../src/random/randomName.ts","../src/random/randomNumericCode.ts","../src/random/randomNumericId.ts","../src/random/randomPassword.ts","../src/random/randomUUID.ts"],"names":["array","length","mapFn","capitalize","string","clamp","number","min","max","cleanSpaces","str","first","arr","getKeys","arg","getEnumerableOwnPropertySymbols","symbol","last","isArray","isBoolean","isServer","isClient","isBrowser","isString","isEmail","isObject","isEmpty","isEmptyObject","isEmptyArray","isEmptyString","isFunction","isJsDate","isKey","key","obj","isInt","isEven","isOdd","isPositive","isNegative","isNumber","isNumeric","num","isPromise","isPWA","canUseSymbol","REACT_ELEMENT_TYPE","isReactElement","value","isRegExp","isStringDate","date","isUndefined","pattern","isURL","isUUID","isValue","merge","target","source","merger","moveToFirst","items","condition","resortedItems","i","firstItem","moveToLast","lastItem","parseDate","pretty","promiseWithTimeout","promise","timeoutMs","error","timeout","timeoutPromise","_","reject","sleep","timeMs","resolve","toggleArray","copy","acc","val","truncate","limit","ellipsis","argArray","UK_ADDRESSES","US_ADDRESSES","EUROPE_ADDRESSES","MIXED_ADDRESSES","ADDRESSES","randomInt","start","end","randomPositiveInt","randomNegativeInt","randomMaxSafeInt","randomMaxInt","randomPercentage","randomArrayItem","randomAddress","chars","randomAlphaNumericCode","randomBool","JS_MAX_DIGITS","randomFloat","decimals","float","randomCoords","randomLat","randomLng","randomDate","startDate","endDate","randomMaxDate","randomFutureDate","safeNow","randomPastDate","randomDateRange","DOMAIN_NAMES","ANIMAL_NAMES","TOOL_NAMES","LATIN_FIRST_NAMES","LATIN_LAST_NAMES","CYRILLIC_FIRST_NAMES","CYRILLIC_LAST_NAMES","JAPANESE_FIRST_NAMES","JAPANESE_LAST_NAMES","ARABIC_FIRST_NAMES","ARABIC_LAST_NAMES","FIRST_NAMES","LAST_NAMES","randomHandle","randomEmail","EMOJI_SAMPLE","SPECIAL_CHARACTERS","randomEmoji","randomEnumKey","enumObject","randomEnumValue","values","VERBS","NOUNS","ADJECTIVES","ADVERBS","LONG_WORDS","HTML_COLOR_NAME_SAMPLES","WORDS","randomWord","randomParagraph","fileExtensions","randomFile","name","extension","_extension","HEX_VALUES","randomHexColor","randomHexValue","randomHtmlColorName","IBAN_SAMPLES","randomIBAN","randomIP","randomName","randomFirstName","randomLastName","randomFullName","randomNumericCode","index","id","randomNumericId","randomPassword","randomUUID","digit12"],"mappings":"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IlC,UAAAA,CACF,CACF,ECvCO,IAAMO,EAAe,CAC1B,YACA,YACA,cACA,UACA,UACA,cACA,WACA,gBACA,cACA,UACA,UACA,SACA,gBACA,cACA,UACA,WACA,iBACA,WACA,SACA,SACA,SACA,SACF,ECvBO,IAAMC,EAAe,CAC1B,WACA,YACA,YACA,SACA,MACA,WACA,WACA,KACF,EAEaC,EAAa,CACxB,MACA,mBACA,WACA,gBACA,iBACA,cACA,iBACA,SACF,EAEaC,EAAoB,CAC/B,OACA,SACA,OACA,SACA,YACA,QACA,SACA,OACA,SACA,MACA,SACA,SACA,SACA,MACF,EAEaC,EAAmB,CAC9B,QACA,UACA,WACA,QACA,QACA,QACA,SACA,SACA,QACA,SACA,WACA,SACA,UACA,OACF,EAEaC,GAAuB,CAClC,6CACA,2BACA,uCACA,iCACA,2BACA,6CACA,yDACA,iCACA,uCACA,uCACA,qBACA,gCACF,EAEaC,GAAsB,CACjC,2BACA,6CACA,6CACA,iCACA,iCACA,iCACA,uCACA,uCACA,qBACA,uCACA,mDACA,iCACA,6CACA,0BACF,EAEaC,GAAuB,CAClC,iCACA,qBACA,iCACA,2BACA,qBACA,iCACA,6CACA,qBACA,2BACA,2BACA,qBACA,sCACF,EAEaC,GAAsB,CACjC,qBACA,iCACA,uCACA,iCACA,2BACA,2BACA,qBACA,iCACA,eACA,2BACA,uCACA,2BACA,iCACA,0BACF,EAEaC,GAAqB,CAChC,uCACA,qBACA,uCACA,iCACA,2BACA,iCACA,6CACA,2BACA,uCACA,uCACA,qBACA,gCACF,EAEaC,GAAoB,CAC/B,2BACA,uCACA,6CACA,2BACA,iCACA,iCACA,2BACA,uCACA,qBACA,uCACA,6CACA,iCACA,uCACA,0BACF,EAEaC,EAAc,CACzB,GAAGR,EACH,GAAGE,GACH,GAAGE,GACH,GAAGE,EACL,EAEaG,EAAa,CACxB,GAAGR,EACH,GAAGE,GACH,GAAGE,GACH,GAAGE,EACL,EChKO,IAAMG,EAAe,KAExBjC,EAAgBuB,CAAiB,EACjC,IACAvB,EAAgBwB,CAAgB,GAChC,YAAY,EAAIhC,EAAU,GAAI,EAAE,ECJ7B,IAAM0C,GAAc,IACzB,GAAGD,EAAa,KAAKjC,EAAgBoB,CAAY,ICN5C,IAAMe,EAAe,CAC1B,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACF,EAEaC,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EChBlE,IAAMC,GAAc,IAClBrC,EAAgBmC,CAAY,ECD9B,IAAMG,GAAmCC,GACvCvC,EACL,OAAO,KAAKuC,CAAU,EAAE,OAAQ7G,GAAQ,CAACQ,EAAUR,CAAG,CAAC,CACzD,ECHK,IAAM8G,GACXD,GACe,CACf,IAAIE,EAAuB,CAAC,EAE5B,cAAO,OAAOF,CAAU,EAAE,QAAS9F,GAAU,CAEvChB,EAAMgB,EAAO8F,CAAU,GAAK,CAACE,EAAO,SAAShG,CAAmB,GAClEgG,EAAO,KAAKF,EAAW9F,CAAgB,CAAC,CAC5C,CAAC,EAEMuD,EAAgByC,CAAM,CAC/B,ECfO,IAAMC,GAAQ,CACnB,QACA,SACA,SACA,aACA,UACA,UACA,MACA,QACA,MACA,SACA,SACA,QACA,QACA,UACA,SACA,SACA,QACA,QACA,QACA,KACA,KACA,OACA,MACF,EAEaC,GAAQ,CACnB,UACA,UACA,OACA,WACA,QACA,QACA,SACA,UACA,SACA,UACF,EAEaC,GAAa,CACxB,YACA,YACA,UACA,OACA,WACA,UACA,WACA,QACA,QACA,SACA,UACA,SACA,UACF,EAEaC,GAAU,CACrB,aACA,SACA,iBACA,aACA,WACA,aACA,YACA,eACA,gBACA,cACA,aACA,aACA,eACA,iBACF,EAEaC,GAAa,CACxB,gDACA,gCACA,iCACA,uCACA,+BACA,qCACA,6BACF,EAqEO,IAAMC,EAA0B,CACrC,YACA,OACA,aACA,QACA,QACA,SACA,QACA,OACA,aACA,QACA,YACA,YACA,aACA,YACA,QACA,gBACA,WACA,OACA,OACA,QACA,SACA,SACA,WACF,EAEaC,EAAQ,CACnB,GAAGN,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,EACL,EClLO,IAAMG,EAAa,IACjBjD,EAAgBgD,CAAK,ECAvB,IAAME,EAAkB,IACtBtJ,EAAWH,EAAM,EAAG,IAAMwJ,EAAW,CAAC,EAAE,KAAK,GAAG,CAAC,EAAI,ICD9D,IAAME,GAAiB,CAAC,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAM,EAGrDC,GAAa,CAAC,CACzB,KAAAC,EACA,UAAAC,CACF,EAGI,CAAC,IAAwB,CAC3B,GAAI,OAAO,MAAS,YAAa,OAEjC,IAAMC,EAAaD,GAAatD,EAAgBmD,EAAc,EAC9D,OAAO,IAAI,KACT,CAACD,EAAgB,CAAC,EAClB,GAAGG,GAAQJ,EAAW,KAAKM,IAC3B,CACE,KAAM,SAASA,GACjB,CACF,CACF,ECxBO,IAAMC,EAAa,CACxB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GACF,ECbO,IAAMC,GAAiB,IACrB,IAAMhK,EAAM,EAAG,IAAMuG,EAAgBwD,CAAU,CAAC,EAAE,KAAK,EAAE,ECF3D,IAAME,GAAiB,IACrB1D,EAAgBwD,CAAU,ECD5B,IAAMG,EAAsB,IAC1B3D,EAAgB+C,CAAuB,ECJzC,IAAMa,EAAe,CAC1B,2BACA,uBACA,mBACA,yBACA,yBACA,+BACA,wBACA,yBACA,+BACA,2BACA,yBACA,+BACA,uBACA,2BACA,qBACA,qBACA,8BACA,yBACA,wBACF,ECjBO,IAAMC,GAAa,IACjB7D,EAAgB4D,CAAY,ECF9B,IAAME,GAAW,IACf,GAAGtE,EAAU,EAAG,GAAG,EAAE,SAAS,KAAKA,EACxC,EACA,GACF,EAAE,SAAS,KAAKA,EAAU,EAAG,GAAG,EAAE,SAAS,KAAKA,EAC9C,EACA,GACF,EAAE,SAAS,ICCN,IAAMuE,GAAa,IACxB/D,EAAgB,CAAC,GAAGqB,EAAc,GAAGC,CAAU,CAAC,EAErC0C,GAAkB,IAAMhE,EAAgB+B,CAAW,EAEnDkC,GAAiB,IAAMjE,EAAgBgC,CAAU,EAEjDkC,GAAiB,IAC5BlE,EAAgBuB,CAAiB,EAAI,IAAMvB,EAAgBwB,CAAgB,ECLtE,IAAM2C,GAAoB,CAAC,CAAE,OAAAzK,EAAS,CAAE,EAAyB,CAAC,IAAM,CAC7E,GAAIA,EAAS,EACX,MAAM,IAAI,MAAM,mDAAmD,EAErE,OAAOD,EAAMC,EAAQ,CAAC4E,EAAG8F,IAAU5E,EAAW4E,EAAY,EAAJ,EAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAC1E,EClBA,IAAIC,GAAK,EAEIC,EAAkB,IACtBD,KCEF,IAAME,GAAiB,IAC5BZ,EAAoB,EACpB3D,EAAgBoC,CAAkB,EAClC5C,EAAU,GAAI,EAAE,ECCX,IAAMgF,GAAa,IAAM,CAC9B,IAAMH,EAAKC,EAAgB,EAAE,SAAS,EAAE,SAAS,GAAI,GAAG,EAClDG,EAAUJ,EAAG,UAAU,EAAG,EAAE,EAElC,MAAO,uBADQA,EAAG,UAAU,GAAI,EAAE,KACMI,GAC1C","sourcesContent":["export const array = <U extends (...args: any) => any>(\n length: number,\n mapFn: U\n): ReturnType<U>[] => {\n return Array.from({ length }, mapFn);\n};\n","export const capitalize = (string: string) => {\n return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n};\n","export const clamp = ({\n number,\n min,\n max,\n}: {\n number: number;\n min: number;\n max: number;\n}) => {\n if (max < min && process.env.DEVERYTHING_WARNINGS) {\n console.warn(\"clamp: max < min\", { number, min, max });\n }\n\n if (number < min) {\n return min;\n }\n\n if (number > max) {\n return max;\n }\n\n return number;\n};\n","export const cleanSpaces = (str: string): string => {\n return str.trim().replace(/\\s{2,}/g, \" \");\n};\n","export const first = <T>(arr?: T[]): T | undefined => arr?.[0];\n","export const getKeys = (arg: object) => {\n return Object.keys(arg).concat(getEnumerableOwnPropertySymbols(arg));\n};\n\n// Object.keys does not return enumerable symbols\nexport const getEnumerableOwnPropertySymbols = (arg: object): any[] => {\n return Object.getOwnPropertySymbols\n ? Object.getOwnPropertySymbols(arg).filter(function (symbol) {\n return Object.propertyIsEnumerable.call(arg, symbol);\n })\n : [];\n};\n","export const last = <T>(arr?: T[]): T | undefined => arr?.[arr.length - 1];\n","export const isArray = <T>(arg?: any): arg is T[] => Array.isArray(arg);\n","export const isBoolean = (arg: any) =>\n Object.prototype.toString.call(arg) === \"[object Boolean]\";\n","export const isServer = () => typeof window === \"undefined\";\n","import { isServer } from \"./isServer\";\n\nexport const isClient = () => !isServer();\n","import { isClient } from \"./isClient\";\n\nexport const isBrowser = isClient;\n","export const isString = (arg: any) => typeof arg === \"string\";\n","import { isString } from \"./isString\";\n\nexport const isEmail = (arg: string) =>\n isString(arg) && /\\S+@\\S+\\.\\S+/.test(arg);\n","export const isObject = <T>(arg?: any): arg is Record<string, T> =>\n Object.prototype.toString.call(arg) === \"[object Object]\";\n","import { Maybe } from \"../types\";\nimport { isArray } from \"./isArray\";\nimport { isObject } from \"./isObject\";\nimport { isString } from \"./isString\";\n\nexport const isEmpty = (arg?: Maybe<any>) => {\n if (isEmptyObject(arg)) return true;\n if (isEmptyArray(arg)) return true;\n if (isEmptyString(arg)) return true;\n\n return arg === undefined || arg === null;\n};\n\nexport const isEmptyString = (arg: string) => {\n return isString(arg) && arg.trim().length === 0;\n};\n\nexport const isEmptyArray = (arg: any[]) => {\n return isArray(arg) && arg.length === 0;\n};\n\nexport const isEmptyObject = (arg: Object) => {\n return isObject(arg) && Object.keys(arg).length === 0;\n};\n","export const isFunction = (arg: any) =>\n Object.prototype.toString.call(arg) === \"[object Function]\";\n","export const isJsDate = (arg: Date): arg is Date =>\n Object.prototype.toString.call(arg) === \"[object Date]\" &&\n !isNaN(arg as unknown as number);\n","export const isKey = <T extends object>(\n key: string | number | symbol,\n obj: T\n): key is keyof T =>\n obj.hasOwnProperty(key) && // makes sure the prop is not in the prototype chain\n obj.propertyIsEnumerable(key); // makes sure the prop is not a getter/setter\n","export const isInt = (arg: number) => Number.isInteger(arg);\n\nexport const isEven = (arg: number) => isInt(arg) && !(arg % 2);\n\nexport const isOdd = (arg: number) => isInt(arg) && !!(arg % 2);\n\nexport const isPositive = (arg: number) => isInt(arg) && arg > 0;\n\nexport const isNegative = (arg: number) => isInt(arg) && arg < 0;\n\nexport const isNumber = (arg: any): arg is number => {\n return (\n Object.prototype.toString.apply(arg) === \"[object Number]\" && isFinite(arg)\n );\n};\n","export const isNumeric = (num: number | string): boolean => {\n return !isNaN(num as number); // isNaN DOES actually work with string-numbers!\n};\n","export const isPromise = (arg: any) => arg instanceof Promise;\n","import { isClient } from \"./isClient\";\n\nexport const isPWA = () => {\n return isClient() && window.matchMedia(\"(display-mode: standalone)\").matches; // credits to Narcis\n};\n","var canUseSymbol = typeof Symbol === \"function\" && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for(\"react.element\") : 0xeac7;\n\nexport const isReactElement = (value: any) => {\n return value.$$typeof === REACT_ELEMENT_TYPE;\n};\n","export const isRegExp = (arg: any): arg is RegExp =>\n Object.prototype.toString.call(arg) === \"[object RegExp]\";\n","import { isJsDate } from \"./isJsDate\";\n\nexport const isStringDate = (arg: string) => {\n const date = new Date(arg);\n return isJsDate(date);\n};\n","export const isUndefined = (arg: any) => typeof arg === \"undefined\";\n","const pattern = new RegExp(\n \"^(https?:\\\\/\\\\/)?\" + // protocol\n \"((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.?)+[a-z]{2,}|\" + // domain name\n \"((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))\" + // OR ip (v4) address\n \"(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*\" + // port and path\n \"(\\\\?[;&a-z\\\\d%_.~+=-]*)?\" + // query string\n \"(\\\\#[-a-z\\\\d_]*)?$\",\n \"i\"\n); // fragment locator\n\nexport const isURL = (arg: string) => {\n return !!arg && pattern.test(arg);\n};\n","export const isUUID = (arg: string) =>\n /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(\n arg\n );\n","import { Maybe } from \"../types\";\n\nexport const isValue = (arg?: Maybe<any>) => {\n return arg !== undefined && arg !== null && !Number.isNaN(arg);\n};\n","import { PlainObject } from \"../types\";\nimport { isKey, isObject } from \"../validators\";\nimport { getKeys } from \"./getKeys\";\n\n// Simple merge function that merges two objects, arrays get overwritten, no options\nexport const merge = (target: PlainObject, source: PlainObject) => {\n const merger: PlainObject = {};\n getKeys(target).forEach((key) => {\n merger[key] = isObject(target[key]) ? merge({}, target[key]) : target[key];\n });\n getKeys(source).forEach((key) => {\n if (isKey(key, target))\n merger[key] =\n isObject(target[key]) && isObject(source[key])\n ? merge(target[key], source[key])\n : source[key];\n else\n merger[key] = isObject(source[key])\n ? merge({}, source[key])\n : source[key];\n });\n return merger;\n};\n","export const moveToFirst = <T>(\n items: T[],\n condition: (item: T, i: number, items: T[]) => boolean\n): T[] => {\n const resortedItems = [...items];\n for (let i = 0; i < resortedItems.length; i++) {\n if (condition(resortedItems[i], i, resortedItems)) {\n let firstItem = resortedItems.splice(i, 1);\n resortedItems.unshift(firstItem[0]);\n break;\n }\n }\n return resortedItems;\n};\n","export const moveToLast = <T>(\n items: T[],\n condition: (item: T, i: number, items: T[]) => boolean\n): T[] => {\n const resortedItems = [...items];\n for (let i = 0; i < resortedItems.length; i++) {\n if (condition(resortedItems[i], i, resortedItems)) {\n let lastItem = resortedItems.splice(i, 1)[0];\n resortedItems.push(lastItem);\n break;\n }\n }\n return resortedItems;\n};\n","import { DateLike, Maybe } from \"../types\";\nimport { isEmpty } from \"../validators/isEmpty\";\nimport { isJsDate } from \"../validators/isJsDate\";\n\nexport const parseDate = (arg?: Maybe<DateLike>) => {\n if (isEmpty(arg)) return;\n\n const date = new Date(arg!);\n\n if (!isJsDate(date)) return;\n\n return date;\n};\n","export const pretty = (arg: any) => {\n return JSON.stringify(arg, null, 2);\n};\n","export const promiseWithTimeout = <T>(\n promise: () => Promise<T>,\n timeoutMs: number,\n error?: Error\n): Promise<T> => {\n let timeout: ReturnType<typeof setTimeout>;\n const timeoutPromise = new Promise<never>((_, reject) => {\n timeout = setTimeout(\n () => reject(error ?? new Error(\"Promise timed out\")),\n timeoutMs\n );\n });\n\n return Promise.race([promise(), timeoutPromise]).finally(() => {\n clearTimeout(timeout);\n });\n};\n","export const sleep = (timeMs: number): Promise<void> => {\n return new Promise((resolve) => {\n setTimeout(resolve, timeMs);\n });\n};\n","import { isArray } from \"../validators\";\n\nexport const toggleArray = <T>(arg: T[], value: T) => {\n if (isArray<T>(arg)) {\n const copy: T[] = arg.reduce((acc: T[], val) => {\n if (val !== value) acc.push(val);\n return acc;\n }, []);\n if (copy.length === arg.length) copy.push(value);\n return copy;\n }\n\n return arg;\n};\n","import { isPositive } from \"../validators/isNumber\";\n\nexport const truncate = (arg: string, limit: number, ellipsis = \"...\") => {\n if (!isPositive(limit)) return arg;\n\n const argArray = [...arg]; // convert string to array, emoji and unicode safe\n\n if (argArray.length <= limit) return arg;\n\n return argArray.slice(0, limit).join(\"\") + ellipsis;\n};\n","export const UK_ADDRESSES = [\n {\n city: \"London\",\n country: \"United Kingdom\",\n street: \"Baker Street\",\n number: \"221B\",\n zip: \"NW1 6XE\",\n },\n {\n city: \"Birmingham\",\n country: \"United Kingdom\",\n street: \"Bordesley Street\",\n number: \"B1 1AA\",\n zip: \"B1 1AA\",\n },\n];\n\nexport const US_ADDRESSES = [\n {\n city: \"New York\",\n country: \"United States\",\n street: \"Broadway\",\n number: \"42\",\n zip: \"10036\",\n },\n {\n city: \"Los Angeles\",\n country: \"United States\",\n street: \"Hollywood Boulevard\",\n number: \"6801\",\n zip: \"90028\",\n },\n];\n\nexport const EUROPE_ADDRESSES = [\n {\n city: \"Paris\",\n country: \"France\",\n street: \"Rue de Rivoli\",\n number: \"75001\",\n zip: \"75001\",\n },\n {\n city: \"Berlin\",\n country: \"Germany\",\n street: \"Unter den Linden\",\n number: \"10117\",\n zip: \"10117\",\n },\n {\n city: \"Rome\",\n country: \"Italy\",\n street: \"Via del Corso\",\n number: \"00186\",\n zip: \"00186\",\n },\n {\n city: \"Madrid\",\n country: \"Spain\",\n street: \"Gran Vía\",\n number: \"28013\",\n zip: \"28013\",\n },\n];\n\nexport const MIXED_ADDRESSES = [\n {\n city: \"Moscow\",\n country: \"Russia\",\n street: \"Tverskaya\",\n number: \"101000\",\n zip: \"101000\",\n },\n {\n city: \"Tokyo\",\n country: \"Japan\",\n street: \"Shinjuku\",\n number: \"160-0022\",\n zip: \"160-0022\",\n },\n {\n city: \"Beijing\",\n country: \"China\",\n street: \"Changan\",\n number: \"100005\",\n zip: \"100005\",\n },\n {\n city: \"Cairo\",\n country: \"Egypt\",\n street: \"Al-Muizz\",\n number: \"11511\",\n\n zip: \"11511\",\n },\n {\n city: \"Buenos Aires\",\n country: \"Argentina\",\n street: \"Avenida de Mayo\",\n number: \"1002\",\n zip: \"C1006AAQ\",\n },\n {\n city: \"Cape Town\",\n country: \"South Africa\",\n street: \"Adderley\",\n number: \"7700\",\n zip: \"7700\",\n },\n {\n city: \"Sydney\",\n country: \"Australia\",\n street: \"George\",\n number: \"2000\",\n zip: \"2000\",\n },\n {\n city: \"Rio de Janeiro\",\n country: \"Brazil\",\n street: \"Av. Presidente Vargas\",\n number: \"20021-000\",\n zip: \"20021-000\",\n },\n {\n city: \"Mexico City\",\n country: \"Mexico\",\n street: \"Paseo de la Reforma\",\n number: \"06500\",\n zip: \"06500\",\n },\n];\n\nexport const ADDRESSES = [\n ...UK_ADDRESSES,\n ...US_ADDRESSES,\n ...EUROPE_ADDRESSES,\n ...MIXED_ADDRESSES,\n];\n\nexport const CITIES = [\n \"London\",\n \"Birmingham\",\n \"New York\",\n \"Los Angeles\",\n \"Paris\",\n \"Berlin\",\n \"Rome\",\n \"Madrid\",\n \"Moscow\",\n \"Tokyo\",\n \"Beijing\",\n \"Cairo\",\n \"Buenos Aires\",\n \"Cape Town\",\n \"Sydney\",\n \"Rio de Janeiro\",\n \"Mexico City\",\n];\n\nexport const US_STATE_CODE_SAMPLES = [\n \"AL\",\n \"AK\",\n \"AZ\",\n \"AR\",\n \"CA\",\n \"CO\",\n \"CT\",\n \"DE\",\n \"FL\",\n \"GA\",\n \"HI\",\n];\n\nexport const ZIP_SAMPLES = [\n \"10036\",\n \"90028\",\n \"75001\",\n \"10117\",\n \"00186\",\n \"28013\",\n \"101000\",\n];\n","export const randomInt = (start: number = -100, end: number = 100): number =>\n Math.floor(Math.random() * (end - start + 1) + start);\n\nexport const randomPositiveInt = (end: number = 100): number =>\n randomInt(1, end);\n\nexport const randomNegativeInt = (start: number = -100): number =>\n randomInt(start, -1);\n\nexport const randomMaxSafeInt = () =>\n randomInt(-Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n\nexport const randomMaxInt = () =>\n randomInt(-Number.MAX_VALUE, Number.MAX_VALUE);\n\nexport const randomPercentage = () => randomInt(-100, 100);\n","import { randomInt } from \"./randomInt\";\n\nexport const randomArrayItem = <T>(array: T[]): T => {\n return array[randomInt(0, array.length - 1)];\n};\n","import { ADDRESSES } from \"../constants/addresses\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomAddress = () => {\n return randomArrayItem(ADDRESSES);\n};\n","import { array } from \"../helpers/array\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\n//avoid 0s and Os as they get confused with each other\nconst chars = \"123456789ABCDEFGHIJKLMNPQRSTUVWXYZ\".split(\"\");\n\n/**\n * Generates a random alphanumeric code that can be used for verification codes, etc.\n * Does not contain 0s or Os as they get confused with each other.\n * @param length The length of the code to generate.\n * @returns A random alphanumeric code.\n * @example\n * randomAlphaNumericCode(); => \"A2G4G6\"\n */\nexport const randomAlphaNumericCode = ({\n length = 6,\n}: { length?: number } = {}) => {\n if (length < 1)\n throw new Error(\"randomAlphaNumericCode: Length must be greater than 0.\");\n\n return array(length, () => randomArrayItem(chars)).join(\"\");\n};\n","import { randomInt } from \"./randomInt\";\n\nexport const randomBool = () => !!randomInt(0, 1);\n","import { isValue } from \"../validators/isValue\";\n\n// Max js digits is theoretically 17, but is actually 16, see Math.random output.\nexport const JS_MAX_DIGITS = 16;\n\n// TODO: with big numbers there will be less digits\nexport const randomFloat = (\n min: number = -9,\n max: number = 9,\n decimals?: number // toFixed accepts max 100 anyway... even if the docs say 20\n) => {\n const float = Math.random() * (max - min) + min;\n\n if (isValue(decimals)) return parseFloat(float.toFixed(decimals));\n\n return float;\n};\n\n// TODO: randomBigFloat\n","import { Coords } from \"../types\";\nimport { randomFloat } from \"./randomFloat\";\n\nexport const randomCoords = (): Coords => {\n return {\n lat: randomLat(),\n lng: randomLng(),\n };\n};\n\nexport const randomLat = () => {\n return randomFloat(-90, 90);\n};\n\nexport const randomLng = () => {\n return randomFloat(-180, 180);\n};\n","import {\n MILLISECONDS_IN_DECADE,\n MAX_DATE_MILLISECONDS,\n MILLISECONDS_IN_MINUTE,\n} from \"../constants/time\";\n\nexport const randomDate = (start?: Date, end?: Date) => {\n const startDate = start || new Date(-MILLISECONDS_IN_DECADE);\n const endDate = end || new Date(MILLISECONDS_IN_DECADE);\n return new Date(\n startDate.getTime() +\n Math.random() * (endDate.getTime() - startDate.getTime())\n );\n};\n\nexport const randomMaxDate = (start?: Date, end?: Date) => {\n const startDate = start || new Date(-MAX_DATE_MILLISECONDS);\n const endDate = end || new Date(MAX_DATE_MILLISECONDS);\n return randomDate(startDate, endDate);\n};\n\nexport const randomFutureDate = () => {\n // Add a safe margin in the future (i.e. lagging tests). About 5 minutes is enough.\n const safeNow = new Date(new Date().getTime() + 5 * MILLISECONDS_IN_MINUTE);\n return randomDate(safeNow);\n};\n\nexport const randomPastDate = () => {\n return randomDate(undefined, new Date());\n};\n\nexport const randomDateRange = () => {\n const startDate = randomDate();\n const endDate = randomDate(startDate);\n\n return {\n endDate,\n startDate,\n };\n};\n","export const DOMAIN_NAMES = [\n \"gmail.com\",\n \"yahoo.com\",\n \"hotmail.com\",\n \"aol.com\",\n \"msn.com\",\n \"comcast.net\",\n \"live.com\",\n \"sbcglobal.net\",\n \"verizon.net\",\n \"att.net\",\n \"mac.com\",\n \"me.com\",\n \"earthlink.net\",\n \"charter.net\",\n \"shaw.ca\",\n \"yahoo.ca\",\n \"googlemail.com\",\n \"mail.com\",\n \"qq.com\",\n \"web.de\",\n \"gmx.de\",\n \"mail.ru\",\n];\n","export const ANIMAL_NAMES = [\n \"Aardvark\",\n \"Albatross\",\n \"Alligator\",\n \"Alpaca\",\n \"Ant\",\n \"Anteater\",\n \"Antelope\",\n \"Ape\",\n];\n\nexport const TOOL_NAMES = [\n \"Axe\",\n \"Ball Peen Hammer\",\n \"Band Saw\",\n \"Bench Grinder\",\n \"Biscuit Joiner\",\n \"Bolt Cutter\",\n \"Boring Machine\",\n \"Bow Saw\",\n];\n\nexport const LATIN_FIRST_NAMES = [\n \"Adam\",\n \"Adrian\",\n \"Alan\",\n \"Albert\",\n \"Alexander\",\n \"Alice\",\n \"Amanda\",\n \"Emma\",\n \"Amelia\",\n \"Amy\",\n \"Andrew\",\n \"Esther\",\n \"Olivia\",\n \"Ruby\",\n];\n\nexport const LATIN_LAST_NAMES = [\n \"Smith\",\n \"Johnson\",\n \"Williams\",\n \"Jones\",\n \"Brown\",\n \"Davis\",\n \"Miller\",\n \"Wilson\",\n \"Moore\",\n \"Taylor\",\n \"Anderson\",\n \"Thomas\",\n \"Jackson\",\n \"White\",\n];\n\nexport const CYRILLIC_FIRST_NAMES = [\n \"Абигаил\",\n \"Адам\",\n \"Адриан\",\n \"Агнес\",\n \"Алан\",\n \"Альберт\",\n \"Александр\",\n \"Алиса\",\n \"Аманда\",\n \"Амелия\",\n \"Эми\",\n \"Эндрю\",\n];\n\nexport const CYRILLIC_LAST_NAMES = [\n \"Смит\",\n \"Джонсон\",\n \"Уильямс\",\n \"Джонс\",\n \"Браун\",\n \"Дэвис\",\n \"Миллер\",\n \"Вилсон\",\n \"Мур\",\n \"Тейлор\",\n \"Андерсон\",\n \"Томас\",\n \"Джексон\",\n \"Уайт\",\n];\n\nexport const JAPANESE_FIRST_NAMES = [\n \"アビゲイル\",\n \"アダム\",\n \"アドリアン\",\n \"アグネス\",\n \"アラン\",\n \"アルバート\",\n \"アレクサンダー\",\n \"アリス\",\n \"アマンダ\",\n \"アメリア\",\n \"アミー\",\n \"アンドリュー\",\n];\n\nexport const JAPANESE_LAST_NAMES = [\n \"スミス\",\n \"ジョンソン\",\n \"ウィリアムズ\",\n \"ジョーンズ\",\n \"ブラウン\",\n \"デイビス\",\n \"ミラー\",\n \"ウィルソン\",\n \"モア\",\n \"タイラー\",\n \"アンダーソン\",\n \"トーマス\",\n \"ジャクソン\",\n \"ホワイト\",\n];\n\nexport const ARABIC_FIRST_NAMES = [\n \"أبيجيل\",\n \"آدم\",\n \"آدريان\",\n \"أغنيس\",\n \"آلان\",\n \"آلبرت\",\n \"ألكسندر\",\n \"آليس\",\n \"آماندا\",\n \"آميليا\",\n \"آمي\",\n \"أندرو\",\n];\n\nexport const ARABIC_LAST_NAMES = [\n \"سميث\",\n \"جونسون\",\n \"ويليامز\",\n \"جونز\",\n \"براون\",\n \"ديفيس\",\n \"ميلر\",\n \"ويلسون\",\n \"مور\",\n \"تايلور\",\n \"أندرسون\",\n \"توماس\",\n \"جاكسون\",\n \"وايت\",\n];\n\nexport const FIRST_NAMES = [\n ...LATIN_FIRST_NAMES,\n ...CYRILLIC_FIRST_NAMES,\n ...JAPANESE_FIRST_NAMES,\n ...ARABIC_FIRST_NAMES,\n];\n\nexport const LAST_NAMES = [\n ...LATIN_LAST_NAMES,\n ...CYRILLIC_LAST_NAMES,\n ...JAPANESE_LAST_NAMES,\n ...ARABIC_LAST_NAMES,\n];\n","import { LATIN_FIRST_NAMES, LATIN_LAST_NAMES } from \"../constants/names\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomInt } from \"./randomInt\";\n\nexport const randomHandle = () =>\n (\n randomArrayItem(LATIN_FIRST_NAMES) +\n \".\" +\n randomArrayItem(LATIN_LAST_NAMES)\n ).toLowerCase() + randomInt(11, 99);\n","import { DOMAIN_NAMES } from \"../constants/domains\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomHandle } from \"./randomHandle\";\n\n//Use randomId() to generate a unique email\nexport const randomEmail = () =>\n `${randomHandle()}@${randomArrayItem(DOMAIN_NAMES)}`;\n","export const EMOJI_SAMPLE = [\n \"😀\",\n \"😁\",\n \"😂\",\n \"🤣\",\n \"😃\",\n \"😄\",\n \"😅\",\n \"😆\",\n \"😉\",\n \"😊\",\n \"😋\",\n \"😎\",\n \"😍\",\n \"😘\",\n \"😗\",\n \"😙\",\n];\n\nexport const SPECIAL_CHARACTERS = [\"!\", \"@\", \"#\", \"$\", \"%\", \"^\", \"&\", \"*\"];\n","import { EMOJI_SAMPLE } from \"../constants/unicode\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEmoji = () => {\n return randomArrayItem(EMOJI_SAMPLE);\n};\n","import { isNumeric } from \"../validators/isNumeric\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEnumKey = <T extends object>(enumObject: T): keyof T => {\n return randomArrayItem(\n Object.keys(enumObject).filter((key) => !isNumeric(key)) // key cannot be a number\n ) as keyof T;\n};\n","import { isKey } from \"../validators/isKey\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEnumValue = <T extends object>(\n enumObject: T\n): T[keyof T] => {\n let values: T[keyof T][] = [];\n\n Object.values(enumObject).forEach((value) => {\n // types are tricky here because the value is used also to check if exists as a key\n if (isKey(value, enumObject) && !values.includes(value as T[keyof T]))\n values.push(enumObject[value as keyof T]);\n });\n\n return randomArrayItem(values);\n};\n","export const VERBS = [\n \"abide\",\n \"abound\",\n \"accept\",\n \"accomplish\",\n \"achieve\",\n \"acquire\",\n \"act\",\n \"adapt\",\n \"add\",\n \"adjust\",\n \"admire\",\n \"admit\",\n \"adopt\",\n \"advance\",\n \"advise\",\n \"afford\",\n \"agree\",\n \"alert\",\n \"allow\",\n \"be\",\n \"go\",\n \"need\",\n \"work\",\n];\n\nexport const NOUNS = [\n \"abandon\",\n \"ability\",\n \"able\",\n \"abortion\",\n \"about\",\n \"above\",\n \"abroad\",\n \"absence\",\n \"absent\",\n \"absolute\",\n];\n\nexport const ADJECTIVES = [\n \"abandoned\",\n \"abdominal\",\n \"ability\",\n \"able\",\n \"abnormal\",\n \"abolish\",\n \"abortion\",\n \"about\",\n \"above\",\n \"abroad\",\n \"absence\",\n \"absent\",\n \"absolute\",\n];\n\nexport const ADVERBS = [\n \"abnormally\",\n \"aboard\",\n \"absentmindedly\",\n \"absolutely\",\n \"absurdly\",\n \"abundantly\",\n \"abysmally\",\n \"academically\",\n \"acceleratedly\",\n \"accentually\",\n \"acceptably\",\n \"accessibly\",\n \"accidentally\",\n \"accommodatingly\",\n];\n\nexport const LONG_WORDS = [\n \"Pneumonoultramicroscopicsilicovolcanoconiosis\",\n \"Floccinaucinihilipilification\",\n \"Pseudopseudohypoparathyroidism\",\n \"Hippopotomonstrosesquippedaliophobia\",\n \"Antidisestablishmentarianism\",\n \"Supercalifragilisticexpialidocious\",\n \"Honorificabilitudinitatibus\",\n];\n\nexport const JS_RESERVED_WORDS = [\n \"abstract\",\n \"arguments\",\n \"await\",\n \"boolean\",\n \"break\",\n \"byte\",\n \"case\",\n \"catch\",\n \"char\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"double\",\n \"else\",\n \"enum*\",\n \"eval\",\n \"export\",\n \"extends\",\n \"false\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"function\",\n \"goto\",\n \"if\",\n \"implements\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"int\",\n \"interface\",\n \"let\",\n \"long\",\n \"native\",\n \"new\",\n \"null\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"return\",\n \"short\",\n \"static\",\n \"super\",\n \"switch\",\n \"synchronized\",\n \"this\",\n \"throw\",\n \"throws\",\n \"transient\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"volatile\",\n \"while\",\n \"with\",\n \"yield\",\n];\n\nexport const HTML_COLOR_NAME_SAMPLES = [\n \"AliceBlue\",\n \"Aqua\",\n \"Aquamarine\",\n \"Azure\",\n \"Beige\",\n \"Bisque\",\n \"Black\",\n \"Blue\",\n \"BlueViolet\",\n \"Brown\",\n \"BurlyWood\",\n \"CadetBlue\",\n \"Chartreuse\",\n \"Chocolate\",\n \"Coral\",\n \"DarkSlateGray\",\n \"DeepPink\",\n \"Gold\",\n \"Lime\",\n \"Olive\",\n \"Orchid\",\n \"Salmon\",\n \"Turquoise\",\n];\n\nexport const WORDS = [\n ...VERBS,\n ...NOUNS,\n ...ADJECTIVES,\n ...ADVERBS,\n ...LONG_WORDS,\n];\n","import { WORDS } from \"../constants/words\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomWord = () => {\n return randomArrayItem(WORDS);\n};\n","import { array } from \"../helpers\";\nimport { capitalize } from \"../helpers/capitalize\";\nimport { randomWord } from \"./randomWord\";\n\nexport const randomParagraph = () => {\n return capitalize(array(8, () => randomWord()).join(\" \")) + \".\";\n};\n","import { randomArrayItem } from \"./randomArrayItem\";\nimport { randomParagraph } from \"./randomParagraph\";\nimport { randomWord } from \"./randomWord\";\n\nconst fileExtensions = [\"png\", \"jpg\", \"jpeg\", \"gif\", \"svg\", \"webp\"];\n\n// This is a client only function\nexport const randomFile = ({\n name,\n extension,\n}: {\n name?: string;\n extension?: string;\n} = {}): File | undefined => {\n if (typeof File === \"undefined\") return undefined;\n\n const _extension = extension || randomArrayItem(fileExtensions);\n return new File(\n [randomParagraph()], // TODO: Use random char string\n `${name || randomWord()}.${_extension}`,\n {\n type: `image/${_extension}`,\n }\n );\n};\n","export const HEX_VALUES = [\n \"0\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n];\n","import { HEX_VALUES } from \"../constants/hex\";\nimport { array } from \"../helpers\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHexColor = () => {\n return \"#\" + array(6, () => randomArrayItem(HEX_VALUES)).join(\"\");\n};\n","import { HEX_VALUES } from \"../constants/hex\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHexValue = () => {\n return randomArrayItem(HEX_VALUES);\n};\n","import { HTML_COLOR_NAME_SAMPLES } from \"../constants/words\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHtmlColorName = () => {\n return randomArrayItem(HTML_COLOR_NAME_SAMPLES);\n};\n","export const IBAN_SAMPLES = [\n \"AD1200012030200359100100\",\n \"BA391290079401028494\",\n \"BE68539007547034\",\n \"BG80BNBG96611020345678\",\n \"BH67BMAG00001299123456\",\n \"BY13NBRB3600900000002Z00AB00\",\n \"CH9300762011623852957\",\n \"CR05015202001026284066\",\n \"CY17002001280000001200527600\",\n \"CZ6508000000192000145399\",\n \"DE89370400440532013000\",\n \"DO28BAGR00000001212453611324\",\n \"EE382200221020145685\",\n \"ES9121000418450200051332\",\n \"FI2112345600000785\",\n \"FO6264600001631634\",\n \"FR1420041010050500013M02606\",\n \"GB29NWBK60161331926819\",\n \"GE29NB0000000101904917\",\n];\n\nexport const BIC_SWIFT_SAMPLES = [\n \"ABNANL2A\",\n \"BKENGB2LXXX\",\n \"BUKBGB22\",\n \"CITIUS33\",\n \"CITIUS33XXX\",\n \"CSCHUS6SXXX\",\n \"NOSCCATTXXX\",\n];\n\nexport const CARD_NUMBER_SAMPLES = [\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n];\n\n//An ABA routing number is a nine-digit code that identifies banks in the U.S.\nexport const ABA_NUMBER_SAMPLES = [\n \"111000025\",\n \"081000210\",\n \"104000029\",\n \"091300023\",\n \"123000220\",\n];\n\nexport const ROUTING_NUMBER_SAMPLES = [\n \"637530215\",\n \"130436324\",\n \"611531133\",\n \"865673685\",\n];\n\nexport const BANK_ACCOUNT_NUMBER_SAMPLES = [\n \"64766774\",\n \"39526009\",\n \"25048213\",\n \"72796383\",\n];\n\nexport const VAT_REGISTRATION_NUMBER_SAMPLES = [\n \"IE1234567T\",\n \"GB123456789\",\n \"XI123456789\",\n];\n\nexport const SORT_CODE_SAMPLES = [\"100000\", \"902127\", \"800551\"];\n\nexport const SSN_SAMPLES = [\"235-55-7216\", \"372-37-3976\", \"414-99-6488\"];\n\nexport const BANK_NAME_SAMPLES = [\n \"Bank of England\",\n \"Bank of Ireland\",\n \"Bank of Scotland\",\n \"Bank of America\",\n];\n\nexport const COMPANY_NAME_SAMPLES = [\n \"Acme Inc.\",\n \"Acme Corp.\",\n \"Acme Ltd.\",\n \"Acme LLC\",\n \"Umbrella Corp.\",\n \"Umbrella Inc.\",\n \"Umbrella Ltd.\",\n \"Umbrella LLC\",\n];\n","import { IBAN_SAMPLES } from \"../constants/banking\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomIBAN = () => {\n return randomArrayItem(IBAN_SAMPLES);\n};\n","import { randomInt } from \"./randomInt\";\n\nexport const randomIP = () => {\n return `${randomInt(0, 255).toString()}.${randomInt(\n 0,\n 255\n ).toString()}.${randomInt(0, 255).toString()}.${randomInt(\n 0,\n 255\n ).toString()}`;\n};\n","import {\n ANIMAL_NAMES,\n FIRST_NAMES,\n LAST_NAMES,\n LATIN_FIRST_NAMES,\n LATIN_LAST_NAMES,\n TOOL_NAMES,\n} from \"../constants/names\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomName = () =>\n randomArrayItem([...ANIMAL_NAMES, ...TOOL_NAMES]);\n\nexport const randomFirstName = () => randomArrayItem(FIRST_NAMES);\n\nexport const randomLastName = () => randomArrayItem(LAST_NAMES);\n\nexport const randomFullName = () =>\n randomArrayItem(LATIN_FIRST_NAMES) + \" \" + randomArrayItem(LATIN_LAST_NAMES);\n","import { array } from \"../helpers/array\";\nimport { randomInt } from \"./randomInt\";\n\n/**\n * Generates a random numeric code that can be used for verification codes, etc.\n * Does not start with 0.\n * @param length The length of the code to generate.\n * @returns A random numeric code.\n * @example\n * randomNumericCode(); => \"123456\"\n * @example\n * randomNumericCode({ length: 4 }); => \"1234\"\n */\nexport const randomNumericCode = ({ length = 6 }: { length?: number } = {}) => {\n if (length < 1)\n throw new Error(\"randomNumericCode: Length must be greater than 0.\");\n\n return array(length, (_, index) => randomInt(!index ? 1 : 0, 9)).join(\"\");\n};\n","let id = 1; // don't start with 0, to be closer to SQL autoincrement\n\nexport const randomNumericId = () => {\n return id++;\n};\n","import { SPECIAL_CHARACTERS } from \"../constants/unicode\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomHtmlColorName } from \"./randomHtmlColorName\";\nimport { randomInt } from \"./randomInt\";\n\nexport const randomPassword = () =>\n randomHtmlColorName() + // So it has an upper case\n randomArrayItem(SPECIAL_CHARACTERS) + // So it has a special character\n randomInt(11, 99); // So it has a number\n","import { randomNumericId } from \"./randomNumericId\";\n\n/**\n * This is a light-weight version of the `generateUuid` function\n * To be used only for test purposed and NOT for production\n * Leave 0s, so it gets immediately recognized as a fake uuid\n *\n * /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i\n */\nexport const randomUUID = () => {\n const id = randomNumericId().toString().padStart(15, \"0\");\n const digit12 = id.substring(0, 12);\n const digit3 = id.substring(12, 15);\n return `00000000-0000-1000-8${digit3}-${digit12}`;\n};\n"]}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var s=(t,e)=>Array.from({length:t},e);var I=t=>t.charAt(0).toUpperCase()+t.slice(1);var It=({number:t,min:e,max:o})=>(o<e&&process.env.DEVERYTHING_WARNINGS&&console.warn("clamp: max < min",{number:t,min:e,max:o}),t<e?e:t>o?o:t);var Mt=t=>t.trim().replace(/\s{2,}/g," ");var Lt=t=>t==null?void 0:t[0];var E=t=>Object.keys(t).concat(V(t)),V=t=>Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[];var ht=t=>t==null?void 0:t[t.length-1];var u=t=>Array.isArray(t);var Ot=t=>Object.prototype.toString.call(t)==="[object Boolean]";var _=()=>typeof window=="undefined";var d=()=>!_();var Ft=d;var A=t=>typeof t=="string";var Ht=t=>A(t)&&/\S+@\S+\.\S+/.test(t);var m=t=>Object.prototype.toString.call(t)==="[object Object]";var M=t=>K(t)||W(t)||J(t)?!0:t==null,J=t=>A(t)&&t.trim().length===0,W=t=>u(t)&&t.length===0,K=t=>m(t)&&Object.keys(t).length===0;var Yt=t=>Object.prototype.toString.call(t)==="[object Function]";var S=t=>Object.prototype.toString.call(t)==="[object Date]"&&!isNaN(t);var y=(t,e)=>e.hasOwnProperty(t)&&e.propertyIsEnumerable(t);var b=t=>Number.isInteger(t),te=t=>b(t)&&!(t%2),ee=t=>b(t)&&!!(t%2),g=t=>b(t)&&t>0,oe=t=>b(t)&&t<0,re=t=>Object.prototype.toString.apply(t)==="[object Number]"&&isFinite(t);var L=t=>!isNaN(t);var ae=t=>t instanceof Promise;var ce=()=>d()&&window.matchMedia("(display-mode: standalone)").matches;var $=typeof Symbol=="function"&&Symbol.for,Y=$?Symbol.for("react.element"):60103,le=t=>t.$$typeof===Y;var de=t=>Object.prototype.toString.call(t)==="[object RegExp]";var ye=t=>{let e=new Date(t);return S(e)};var fe=t=>typeof t=="undefined";var q=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.?)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i"),Ee=t=>!!t&&q.test(t);var Ne=t=>/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t);var B=t=>t!=null&&!Number.isNaN(t);var T=(t,e)=>{let o={};return E(t).forEach(r=>{o[r]=m(t[r])?T({},t[r]):t[r];}),E(e).forEach(r=>{y(r,t)?o[r]=m(t[r])&&m(e[r])?T(t[r],e[r]):e[r]:o[r]=m(e[r])?T({},e[r]):e[r];}),o};var Be=(t,e)=>{let o=[...t];for(let r=0;r<o.length;r++)if(e(o[r],r,o)){let a=o.splice(r,1);o.unshift(a[0]);break}return o};var he=(t,e)=>{let o=[...t];for(let r=0;r<o.length;r++)if(e(o[r],r,o)){let a=o.splice(r,1)[0];o.push(a);break}return o};var Pe=t=>{if(M(t))return;let e=new Date(t);if(S(e))return e};var je=t=>JSON.stringify(t,null,2);var ve=(t,e,o)=>{let r,a=new Promise((Et,k)=>{r=setTimeout(()=>k(o!=null?o:new Error("Promise timed out")),e);});return Promise.race([t(),a]).finally(()=>{clearTimeout(r);})};var ze=t=>new Promise(e=>{setTimeout(e,t);});var He=(t,e)=>{if(u(t)){let o=t.reduce((r,a)=>(a!==e&&r.push(a),r),[]);return o.length===t.length&&o.push(e),o}return t};var Je=(t,e,o="...")=>{if(!g(e))return t;let r=[...t];return r.length<=e?t:r.slice(0,e).join("")+o};var Z=[{city:"London",country:"United Kingdom",street:"Baker Street",number:"221B",zip:"NW1 6XE"},{city:"Birmingham",country:"United Kingdom",street:"Bordesley Street",number:"B1 1AA",zip:"B1 1AA"}],Q=[{city:"New York",country:"United States",street:"Broadway",number:"42",zip:"10036"},{city:"Los Angeles",country:"United States",street:"Hollywood Boulevard",number:"6801",zip:"90028"}],tt=[{city:"Paris",country:"France",street:"Rue de Rivoli",number:"75001",zip:"75001"},{city:"Berlin",country:"Germany",street:"Unter den Linden",number:"10117",zip:"10117"},{city:"Rome",country:"Italy",street:"Via del Corso",number:"00186",zip:"00186"},{city:"Madrid",country:"Spain",street:"Gran V\xEDa",number:"28013",zip:"28013"}],et=[{city:"Moscow",country:"Russia",street:"Tverskaya",number:"101000",zip:"101000"},{city:"Tokyo",country:"Japan",street:"Shinjuku",number:"160-0022",zip:"160-0022"},{city:"Beijing",country:"China",street:"Changan",number:"100005",zip:"100005"},{city:"Cairo",country:"Egypt",street:"Al-Muizz",number:"11511",zip:"11511"},{city:"Buenos Aires",country:"Argentina",street:"Avenida de Mayo",number:"1002",zip:"C1006AAQ"},{city:"Cape Town",country:"South Africa",street:"Adderley",number:"7700",zip:"7700"},{city:"Sydney",country:"Australia",street:"George",number:"2000",zip:"2000"},{city:"Rio de Janeiro",country:"Brazil",street:"Av. Presidente Vargas",number:"20021-000",zip:"20021-000"},{city:"Mexico City",country:"Mexico",street:"Paseo de la Reforma",number:"06500",zip:"06500"}],D=[...Z,...Q,...tt,...et];var i=(t=-100,e=100)=>Math.floor(Math.random()*(e-t+1)+t),$e=(t=100)=>i(1,t),Ye=(t=-100)=>i(t,-1),qe=()=>i(-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),Ze=()=>i(-Number.MAX_VALUE,Number.MAX_VALUE),Qe=()=>i(-100,100);var n=t=>t[i(0,t.length-1)];var io=()=>n(D);var ot="123456789ABCDEFGHIJKLMNPQRSTUVWXYZ".split(""),co=({length:t=6}={})=>{if(t<1)throw new Error("randomAlphaNumericCode: Length must be greater than 0.");return s(t,()=>n(ot)).join("")};var uo=()=>!!i(0,1);var yo=16,N=(t=-9,e=9,o)=>{let r=Math.random()*(e-t)+t;return B(o)?parseFloat(r.toFixed(o)):r};var xo=()=>({lat:rt(),lng:nt()}),rt=()=>N(-90,90),nt=()=>N(-180,180);var c=(t,e)=>{let o=t||new Date(-31536e7),r=e||new Date(31536e7);return new Date(o.getTime()+Math.random()*(r.getTime()-o.getTime()))},No=(t,e)=>{let o=t||new Date(-864e13),r=e||new Date(864e13);return c(o,r)},Io=()=>{let t=new Date(new Date().getTime()+5*6e4);return c(t)},_o=()=>c(void 0,new Date),Mo=()=>{let t=c();return {endDate:c(t),startDate:t}};var h=["gmail.com","yahoo.com","hotmail.com","aol.com","msn.com","comcast.net","live.com","sbcglobal.net","verizon.net","att.net","mac.com","me.com","earthlink.net","charter.net","shaw.ca","yahoo.ca","googlemail.com","mail.com","qq.com","web.de","gmx.de","mail.ru"];var C=["Aardvark","Albatross","Alligator","Alpaca","Ant","Anteater","Antelope","Ape"],R=["Axe","Ball Peen Hammer","Band Saw","Bench Grinder","Biscuit Joiner","Bolt Cutter","Boring Machine","Bow Saw"],p=["Adam","Adrian","Alan","Albert","Alexander","Alice","Amanda","Emma","Amelia","Amy","Andrew","Esther","Olivia","Ruby"],l=["Smith","Johnson","Williams","Jones","Brown","Davis","Miller","Wilson","Moore","Taylor","Anderson","Thomas","Jackson","White"],st=["\u0410\u0431\u0438\u0433\u0430\u0438\u043B","\u0410\u0434\u0430\u043C","\u0410\u0434\u0440\u0438\u0430\u043D","\u0410\u0433\u043D\u0435\u0441","\u0410\u043B\u0430\u043D","\u0410\u043B\u044C\u0431\u0435\u0440\u0442","\u0410\u043B\u0435\u043A\u0441\u0430\u043D\u0434\u0440","\u0410\u043B\u0438\u0441\u0430","\u0410\u043C\u0430\u043D\u0434\u0430","\u0410\u043C\u0435\u043B\u0438\u044F","\u042D\u043C\u0438","\u042D\u043D\u0434\u0440\u044E"],mt=["\u0421\u043C\u0438\u0442","\u0414\u0436\u043E\u043D\u0441\u043E\u043D","\u0423\u0438\u043B\u044C\u044F\u043C\u0441","\u0414\u0436\u043E\u043D\u0441","\u0411\u0440\u0430\u0443\u043D","\u0414\u044D\u0432\u0438\u0441","\u041C\u0438\u043B\u043B\u0435\u0440","\u0412\u0438\u043B\u0441\u043E\u043D","\u041C\u0443\u0440","\u0422\u0435\u0439\u043B\u043E\u0440","\u0410\u043D\u0434\u0435\u0440\u0441\u043E\u043D","\u0422\u043E\u043C\u0430\u0441","\u0414\u0436\u0435\u043A\u0441\u043E\u043D","\u0423\u0430\u0439\u0442"],ct=["\u30A2\u30D3\u30B2\u30A4\u30EB","\u30A2\u30C0\u30E0","\u30A2\u30C9\u30EA\u30A2\u30F3","\u30A2\u30B0\u30CD\u30B9","\u30A2\u30E9\u30F3","\u30A2\u30EB\u30D0\u30FC\u30C8","\u30A2\u30EC\u30AF\u30B5\u30F3\u30C0\u30FC","\u30A2\u30EA\u30B9","\u30A2\u30DE\u30F3\u30C0","\u30A2\u30E1\u30EA\u30A2","\u30A2\u30DF\u30FC","\u30A2\u30F3\u30C9\u30EA\u30E5\u30FC"],pt=["\u30B9\u30DF\u30B9","\u30B8\u30E7\u30F3\u30BD\u30F3","\u30A6\u30A3\u30EA\u30A2\u30E0\u30BA","\u30B8\u30E7\u30FC\u30F3\u30BA","\u30D6\u30E9\u30A6\u30F3","\u30C7\u30A4\u30D3\u30B9","\u30DF\u30E9\u30FC","\u30A6\u30A3\u30EB\u30BD\u30F3","\u30E2\u30A2","\u30BF\u30A4\u30E9\u30FC","\u30A2\u30F3\u30C0\u30FC\u30BD\u30F3","\u30C8\u30FC\u30DE\u30B9","\u30B8\u30E3\u30AF\u30BD\u30F3","\u30DB\u30EF\u30A4\u30C8"],lt=["\u0623\u0628\u064A\u062C\u064A\u0644","\u0622\u062F\u0645","\u0622\u062F\u0631\u064A\u0627\u0646","\u0623\u063A\u0646\u064A\u0633","\u0622\u0644\u0627\u0646","\u0622\u0644\u0628\u0631\u062A","\u0623\u0644\u0643\u0633\u0646\u062F\u0631","\u0622\u0644\u064A\u0633","\u0622\u0645\u0627\u0646\u062F\u0627","\u0622\u0645\u064A\u0644\u064A\u0627","\u0622\u0645\u064A","\u0623\u0646\u062F\u0631\u0648"],ut=["\u0633\u0645\u064A\u062B","\u062C\u0648\u0646\u0633\u0648\u0646","\u0648\u064A\u0644\u064A\u0627\u0645\u0632","\u062C\u0648\u0646\u0632","\u0628\u0631\u0627\u0648\u0646","\u062F\u064A\u0641\u064A\u0633","\u0645\u064A\u0644\u0631","\u0648\u064A\u0644\u0633\u0648\u0646","\u0645\u0648\u0631","\u062A\u0627\u064A\u0644\u0648\u0631","\u0623\u0646\u062F\u0631\u0633\u0648\u0646","\u062A\u0648\u0645\u0627\u0633","\u062C\u0627\u0643\u0633\u0648\u0646","\u0648\u0627\u064A\u062A"],O=[...p,...st,...ct,...lt],P=[...l,...mt,...pt,...ut];var w=()=>(n(p)+"."+n(l)).toLowerCase()+i(11,99);var jo=()=>`${w()}@${n(h)}`;var j=["\u{1F600}","\u{1F601}","\u{1F602}","\u{1F923}","\u{1F603}","\u{1F604}","\u{1F605}","\u{1F606}","\u{1F609}","\u{1F60A}","\u{1F60B}","\u{1F60E}","\u{1F60D}","\u{1F618}","\u{1F617}","\u{1F619}"],U=["!","@","#","$","%","^","&","*"];var Go=()=>n(j);var Vo=t=>n(Object.keys(t).filter(e=>!L(e)));var $o=t=>{let e=[];return Object.values(t).forEach(o=>{y(o,t)&&!e.includes(o)&&e.push(t[o]);}),n(e)};var dt=["abide","abound","accept","accomplish","achieve","acquire","act","adapt","add","adjust","admire","admit","adopt","advance","advise","afford","agree","alert","allow","be","go","need","work"],At=["abandon","ability","able","abortion","about","above","abroad","absence","absent","absolute"],St=["abandoned","abdominal","ability","able","abnormal","abolish","abortion","about","above","abroad","absence","absent","absolute"],yt=["abnormally","aboard","absentmindedly","absolutely","absurdly","abundantly","abysmally","academically","acceleratedly","accentually","acceptably","accessibly","accidentally","accommodatingly"],bt=["Pneumonoultramicroscopicsilicovolcanoconiosis","Floccinaucinihilipilification","Pseudopseudohypoparathyroidism","Hippopotomonstrosesquippedaliophobia","Antidisestablishmentarianism","Supercalifragilisticexpialidocious","Honorificabilitudinitatibus"];var v=["AliceBlue","Aqua","Aquamarine","Azure","Beige","Bisque","Black","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","DarkSlateGray","DeepPink","Gold","Lime","Olive","Orchid","Salmon","Turquoise"],F=[...dt,...At,...St,...yt,...bt];var f=()=>n(F);var z=()=>I(s(8,()=>f()).join(" "))+".";var ft=["png","jpg","jpeg","gif","svg","webp"],mr=({name:t,extension:e}={})=>{if(typeof File=="undefined")return;let o=e||n(ft);return new File([z()],`${t||f()}.${o}`,{type:`image/${o}`})};var x=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];var Ar=()=>"#"+s(6,()=>n(x)).join("");var fr=()=>n(x);var G=()=>n(v);var X=["AD1200012030200359100100","BA391290079401028494","BE68539007547034","BG80BNBG96611020345678","BH67BMAG00001299123456","BY13NBRB3600900000002Z00AB00","CH9300762011623852957","CR05015202001026284066","CY17002001280000001200527600","CZ6508000000192000145399","DE89370400440532013000","DO28BAGR00000001212453611324","EE382200221020145685","ES9121000418450200051332","FI2112345600000785","FO6264600001631634","FR1420041010050500013M02606","GB29NWBK60161331926819","GE29NB0000000101904917"];var gr=()=>n(X);var Dr=()=>`${i(0,255).toString()}.${i(0,255).toString()}.${i(0,255).toString()}.${i(0,255).toString()}`;var Or=()=>n([...C,...R]),Pr=()=>n(O),wr=()=>n(P),jr=()=>n(p)+" "+n(l);var zr=({length:t=6}={})=>{if(t<1)throw new Error("randomNumericCode: Length must be greater than 0.");return s(t,(e,o)=>i(o?0:1,9)).join("")};var xt=1,H=()=>xt++;var Wr=()=>G()+n(U)+i(11,99);var Yr=()=>{let t=H().toString().padStart(15,"0"),e=t.substring(0,12);return `00000000-0000-1000-8${t.substring(12,15)}-${e}`};
3
+ var s=(t,e)=>Array.from({length:t},e);var I=t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase();var It=({number:t,min:e,max:o})=>(o<e&&process.env.DEVERYTHING_WARNINGS&&console.warn("clamp: max < min",{number:t,min:e,max:o}),t<e?e:t>o?o:t);var Mt=t=>t.trim().replace(/\s{2,}/g," ");var Lt=t=>t==null?void 0:t[0];var E=t=>Object.keys(t).concat(V(t)),V=t=>Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[];var ht=t=>t==null?void 0:t[t.length-1];var u=t=>Array.isArray(t);var Ot=t=>Object.prototype.toString.call(t)==="[object Boolean]";var _=()=>typeof window=="undefined";var d=()=>!_();var Ft=d;var A=t=>typeof t=="string";var Ht=t=>A(t)&&/\S+@\S+\.\S+/.test(t);var m=t=>Object.prototype.toString.call(t)==="[object Object]";var M=t=>K(t)||W(t)||J(t)?!0:t==null,J=t=>A(t)&&t.trim().length===0,W=t=>u(t)&&t.length===0,K=t=>m(t)&&Object.keys(t).length===0;var Yt=t=>Object.prototype.toString.call(t)==="[object Function]";var S=t=>Object.prototype.toString.call(t)==="[object Date]"&&!isNaN(t);var y=(t,e)=>e.hasOwnProperty(t)&&e.propertyIsEnumerable(t);var b=t=>Number.isInteger(t),te=t=>b(t)&&!(t%2),ee=t=>b(t)&&!!(t%2),g=t=>b(t)&&t>0,oe=t=>b(t)&&t<0,re=t=>Object.prototype.toString.apply(t)==="[object Number]"&&isFinite(t);var L=t=>!isNaN(t);var ae=t=>t instanceof Promise;var ce=()=>d()&&window.matchMedia("(display-mode: standalone)").matches;var $=typeof Symbol=="function"&&Symbol.for,Y=$?Symbol.for("react.element"):60103,le=t=>t.$$typeof===Y;var de=t=>Object.prototype.toString.call(t)==="[object RegExp]";var ye=t=>{let e=new Date(t);return S(e)};var fe=t=>typeof t=="undefined";var q=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.?)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i"),Ee=t=>!!t&&q.test(t);var Ne=t=>/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t);var B=t=>t!=null&&!Number.isNaN(t);var T=(t,e)=>{let o={};return E(t).forEach(r=>{o[r]=m(t[r])?T({},t[r]):t[r];}),E(e).forEach(r=>{y(r,t)?o[r]=m(t[r])&&m(e[r])?T(t[r],e[r]):e[r]:o[r]=m(e[r])?T({},e[r]):e[r];}),o};var Be=(t,e)=>{let o=[...t];for(let r=0;r<o.length;r++)if(e(o[r],r,o)){let a=o.splice(r,1);o.unshift(a[0]);break}return o};var he=(t,e)=>{let o=[...t];for(let r=0;r<o.length;r++)if(e(o[r],r,o)){let a=o.splice(r,1)[0];o.push(a);break}return o};var Pe=t=>{if(M(t))return;let e=new Date(t);if(S(e))return e};var je=t=>JSON.stringify(t,null,2);var ve=(t,e,o)=>{let r,a=new Promise((Et,k)=>{r=setTimeout(()=>k(o!=null?o:new Error("Promise timed out")),e);});return Promise.race([t(),a]).finally(()=>{clearTimeout(r);})};var ze=t=>new Promise(e=>{setTimeout(e,t);});var He=(t,e)=>{if(u(t)){let o=t.reduce((r,a)=>(a!==e&&r.push(a),r),[]);return o.length===t.length&&o.push(e),o}return t};var Je=(t,e,o="...")=>{if(!g(e))return t;let r=[...t];return r.length<=e?t:r.slice(0,e).join("")+o};var Z=[{city:"London",country:"United Kingdom",street:"Baker Street",number:"221B",zip:"NW1 6XE"},{city:"Birmingham",country:"United Kingdom",street:"Bordesley Street",number:"B1 1AA",zip:"B1 1AA"}],Q=[{city:"New York",country:"United States",street:"Broadway",number:"42",zip:"10036"},{city:"Los Angeles",country:"United States",street:"Hollywood Boulevard",number:"6801",zip:"90028"}],tt=[{city:"Paris",country:"France",street:"Rue de Rivoli",number:"75001",zip:"75001"},{city:"Berlin",country:"Germany",street:"Unter den Linden",number:"10117",zip:"10117"},{city:"Rome",country:"Italy",street:"Via del Corso",number:"00186",zip:"00186"},{city:"Madrid",country:"Spain",street:"Gran V\xEDa",number:"28013",zip:"28013"}],et=[{city:"Moscow",country:"Russia",street:"Tverskaya",number:"101000",zip:"101000"},{city:"Tokyo",country:"Japan",street:"Shinjuku",number:"160-0022",zip:"160-0022"},{city:"Beijing",country:"China",street:"Changan",number:"100005",zip:"100005"},{city:"Cairo",country:"Egypt",street:"Al-Muizz",number:"11511",zip:"11511"},{city:"Buenos Aires",country:"Argentina",street:"Avenida de Mayo",number:"1002",zip:"C1006AAQ"},{city:"Cape Town",country:"South Africa",street:"Adderley",number:"7700",zip:"7700"},{city:"Sydney",country:"Australia",street:"George",number:"2000",zip:"2000"},{city:"Rio de Janeiro",country:"Brazil",street:"Av. Presidente Vargas",number:"20021-000",zip:"20021-000"},{city:"Mexico City",country:"Mexico",street:"Paseo de la Reforma",number:"06500",zip:"06500"}],D=[...Z,...Q,...tt,...et];var i=(t=-100,e=100)=>Math.floor(Math.random()*(e-t+1)+t),$e=(t=100)=>i(1,t),Ye=(t=-100)=>i(t,-1),qe=()=>i(-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),Ze=()=>i(-Number.MAX_VALUE,Number.MAX_VALUE),Qe=()=>i(-100,100);var n=t=>t[i(0,t.length-1)];var io=()=>n(D);var ot="123456789ABCDEFGHIJKLMNPQRSTUVWXYZ".split(""),co=({length:t=6}={})=>{if(t<1)throw new Error("randomAlphaNumericCode: Length must be greater than 0.");return s(t,()=>n(ot)).join("")};var uo=()=>!!i(0,1);var yo=16,N=(t=-9,e=9,o)=>{let r=Math.random()*(e-t)+t;return B(o)?parseFloat(r.toFixed(o)):r};var xo=()=>({lat:rt(),lng:nt()}),rt=()=>N(-90,90),nt=()=>N(-180,180);var c=(t,e)=>{let o=t||new Date(-31536e7),r=e||new Date(31536e7);return new Date(o.getTime()+Math.random()*(r.getTime()-o.getTime()))},No=(t,e)=>{let o=t||new Date(-864e13),r=e||new Date(864e13);return c(o,r)},Io=()=>{let t=new Date(new Date().getTime()+5*6e4);return c(t)},_o=()=>c(void 0,new Date),Mo=()=>{let t=c();return {endDate:c(t),startDate:t}};var h=["gmail.com","yahoo.com","hotmail.com","aol.com","msn.com","comcast.net","live.com","sbcglobal.net","verizon.net","att.net","mac.com","me.com","earthlink.net","charter.net","shaw.ca","yahoo.ca","googlemail.com","mail.com","qq.com","web.de","gmx.de","mail.ru"];var C=["Aardvark","Albatross","Alligator","Alpaca","Ant","Anteater","Antelope","Ape"],R=["Axe","Ball Peen Hammer","Band Saw","Bench Grinder","Biscuit Joiner","Bolt Cutter","Boring Machine","Bow Saw"],p=["Adam","Adrian","Alan","Albert","Alexander","Alice","Amanda","Emma","Amelia","Amy","Andrew","Esther","Olivia","Ruby"],l=["Smith","Johnson","Williams","Jones","Brown","Davis","Miller","Wilson","Moore","Taylor","Anderson","Thomas","Jackson","White"],st=["\u0410\u0431\u0438\u0433\u0430\u0438\u043B","\u0410\u0434\u0430\u043C","\u0410\u0434\u0440\u0438\u0430\u043D","\u0410\u0433\u043D\u0435\u0441","\u0410\u043B\u0430\u043D","\u0410\u043B\u044C\u0431\u0435\u0440\u0442","\u0410\u043B\u0435\u043A\u0441\u0430\u043D\u0434\u0440","\u0410\u043B\u0438\u0441\u0430","\u0410\u043C\u0430\u043D\u0434\u0430","\u0410\u043C\u0435\u043B\u0438\u044F","\u042D\u043C\u0438","\u042D\u043D\u0434\u0440\u044E"],mt=["\u0421\u043C\u0438\u0442","\u0414\u0436\u043E\u043D\u0441\u043E\u043D","\u0423\u0438\u043B\u044C\u044F\u043C\u0441","\u0414\u0436\u043E\u043D\u0441","\u0411\u0440\u0430\u0443\u043D","\u0414\u044D\u0432\u0438\u0441","\u041C\u0438\u043B\u043B\u0435\u0440","\u0412\u0438\u043B\u0441\u043E\u043D","\u041C\u0443\u0440","\u0422\u0435\u0439\u043B\u043E\u0440","\u0410\u043D\u0434\u0435\u0440\u0441\u043E\u043D","\u0422\u043E\u043C\u0430\u0441","\u0414\u0436\u0435\u043A\u0441\u043E\u043D","\u0423\u0430\u0439\u0442"],ct=["\u30A2\u30D3\u30B2\u30A4\u30EB","\u30A2\u30C0\u30E0","\u30A2\u30C9\u30EA\u30A2\u30F3","\u30A2\u30B0\u30CD\u30B9","\u30A2\u30E9\u30F3","\u30A2\u30EB\u30D0\u30FC\u30C8","\u30A2\u30EC\u30AF\u30B5\u30F3\u30C0\u30FC","\u30A2\u30EA\u30B9","\u30A2\u30DE\u30F3\u30C0","\u30A2\u30E1\u30EA\u30A2","\u30A2\u30DF\u30FC","\u30A2\u30F3\u30C9\u30EA\u30E5\u30FC"],pt=["\u30B9\u30DF\u30B9","\u30B8\u30E7\u30F3\u30BD\u30F3","\u30A6\u30A3\u30EA\u30A2\u30E0\u30BA","\u30B8\u30E7\u30FC\u30F3\u30BA","\u30D6\u30E9\u30A6\u30F3","\u30C7\u30A4\u30D3\u30B9","\u30DF\u30E9\u30FC","\u30A6\u30A3\u30EB\u30BD\u30F3","\u30E2\u30A2","\u30BF\u30A4\u30E9\u30FC","\u30A2\u30F3\u30C0\u30FC\u30BD\u30F3","\u30C8\u30FC\u30DE\u30B9","\u30B8\u30E3\u30AF\u30BD\u30F3","\u30DB\u30EF\u30A4\u30C8"],lt=["\u0623\u0628\u064A\u062C\u064A\u0644","\u0622\u062F\u0645","\u0622\u062F\u0631\u064A\u0627\u0646","\u0623\u063A\u0646\u064A\u0633","\u0622\u0644\u0627\u0646","\u0622\u0644\u0628\u0631\u062A","\u0623\u0644\u0643\u0633\u0646\u062F\u0631","\u0622\u0644\u064A\u0633","\u0622\u0645\u0627\u0646\u062F\u0627","\u0622\u0645\u064A\u0644\u064A\u0627","\u0622\u0645\u064A","\u0623\u0646\u062F\u0631\u0648"],ut=["\u0633\u0645\u064A\u062B","\u062C\u0648\u0646\u0633\u0648\u0646","\u0648\u064A\u0644\u064A\u0627\u0645\u0632","\u062C\u0648\u0646\u0632","\u0628\u0631\u0627\u0648\u0646","\u062F\u064A\u0641\u064A\u0633","\u0645\u064A\u0644\u0631","\u0648\u064A\u0644\u0633\u0648\u0646","\u0645\u0648\u0631","\u062A\u0627\u064A\u0644\u0648\u0631","\u0623\u0646\u062F\u0631\u0633\u0648\u0646","\u062A\u0648\u0645\u0627\u0633","\u062C\u0627\u0643\u0633\u0648\u0646","\u0648\u0627\u064A\u062A"],O=[...p,...st,...ct,...lt],P=[...l,...mt,...pt,...ut];var w=()=>(n(p)+"."+n(l)).toLowerCase()+i(11,99);var jo=()=>`${w()}@${n(h)}`;var j=["\u{1F600}","\u{1F601}","\u{1F602}","\u{1F923}","\u{1F603}","\u{1F604}","\u{1F605}","\u{1F606}","\u{1F609}","\u{1F60A}","\u{1F60B}","\u{1F60E}","\u{1F60D}","\u{1F618}","\u{1F617}","\u{1F619}"],U=["!","@","#","$","%","^","&","*"];var Go=()=>n(j);var Vo=t=>n(Object.keys(t).filter(e=>!L(e)));var $o=t=>{let e=[];return Object.values(t).forEach(o=>{y(o,t)&&!e.includes(o)&&e.push(t[o]);}),n(e)};var dt=["abide","abound","accept","accomplish","achieve","acquire","act","adapt","add","adjust","admire","admit","adopt","advance","advise","afford","agree","alert","allow","be","go","need","work"],At=["abandon","ability","able","abortion","about","above","abroad","absence","absent","absolute"],St=["abandoned","abdominal","ability","able","abnormal","abolish","abortion","about","above","abroad","absence","absent","absolute"],yt=["abnormally","aboard","absentmindedly","absolutely","absurdly","abundantly","abysmally","academically","acceleratedly","accentually","acceptably","accessibly","accidentally","accommodatingly"],bt=["Pneumonoultramicroscopicsilicovolcanoconiosis","Floccinaucinihilipilification","Pseudopseudohypoparathyroidism","Hippopotomonstrosesquippedaliophobia","Antidisestablishmentarianism","Supercalifragilisticexpialidocious","Honorificabilitudinitatibus"];var v=["AliceBlue","Aqua","Aquamarine","Azure","Beige","Bisque","Black","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","DarkSlateGray","DeepPink","Gold","Lime","Olive","Orchid","Salmon","Turquoise"],F=[...dt,...At,...St,...yt,...bt];var f=()=>n(F);var z=()=>I(s(8,()=>f()).join(" "))+".";var ft=["png","jpg","jpeg","gif","svg","webp"],mr=({name:t,extension:e}={})=>{if(typeof File=="undefined")return;let o=e||n(ft);return new File([z()],`${t||f()}.${o}`,{type:`image/${o}`})};var x=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];var Ar=()=>"#"+s(6,()=>n(x)).join("");var fr=()=>n(x);var G=()=>n(v);var X=["AD1200012030200359100100","BA391290079401028494","BE68539007547034","BG80BNBG96611020345678","BH67BMAG00001299123456","BY13NBRB3600900000002Z00AB00","CH9300762011623852957","CR05015202001026284066","CY17002001280000001200527600","CZ6508000000192000145399","DE89370400440532013000","DO28BAGR00000001212453611324","EE382200221020145685","ES9121000418450200051332","FI2112345600000785","FO6264600001631634","FR1420041010050500013M02606","GB29NWBK60161331926819","GE29NB0000000101904917"];var gr=()=>n(X);var Dr=()=>`${i(0,255).toString()}.${i(0,255).toString()}.${i(0,255).toString()}.${i(0,255).toString()}`;var Or=()=>n([...C,...R]),Pr=()=>n(O),wr=()=>n(P),jr=()=>n(p)+" "+n(l);var zr=({length:t=6}={})=>{if(t<1)throw new Error("randomNumericCode: Length must be greater than 0.");return s(t,(e,o)=>i(o?0:1,9)).join("")};var xt=1,H=()=>xt++;var Wr=()=>G()+n(U)+i(11,99);var Yr=()=>{let t=H().toString().padStart(15,"0"),e=t.substring(0,12);return `00000000-0000-1000-8${t.substring(12,15)}-${e}`};
4
4
 
5
5
  exports.JS_MAX_DIGITS = yo;
6
6
  exports.array = s;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/helpers/array.ts","../src/helpers/capitalize.ts","../src/helpers/clamp.ts","../src/helpers/cleanSpaces.ts","../src/helpers/first.ts","../src/helpers/getKeys.ts","../src/helpers/last.ts","../src/validators/isArray.ts","../src/validators/isBoolean.ts","../src/validators/isServer.ts","../src/validators/isClient.ts","../src/validators/isBrowser.ts","../src/validators/isString.ts","../src/validators/isEmail.ts","../src/validators/isObject.ts","../src/validators/isEmpty.ts","../src/validators/isFunction.ts","../src/validators/isJsDate.ts","../src/validators/isKey.ts","../src/validators/isNumber.ts","../src/validators/isNumeric.ts","../src/validators/isPromise.ts","../src/validators/isPWA.ts","../src/validators/isReactElement.ts","../src/validators/isRegExp.ts","../src/validators/isStringDate.ts","../src/validators/isUndefined.ts","../src/validators/isURL.ts","../src/validators/isUUID.ts","../src/validators/isValue.ts","../src/helpers/merge.ts","../src/helpers/moveToFirst.ts","../src/helpers/moveToLast.ts","../src/helpers/parseDate.ts","../src/helpers/pretty.ts","../src/helpers/promiseWithTimeout.ts","../src/helpers/sleep.ts","../src/helpers/toggleArray.ts","../src/helpers/truncate.ts","../src/constants/addresses.ts","../src/random/randomInt.ts","../src/random/randomArrayItem.ts","../src/random/randomAddress.ts","../src/random/randomAlphaNumericCode.ts","../src/random/randomBool.ts","../src/random/randomFloat.ts","../src/random/randomCoords.ts","../src/random/randomDate.ts","../src/constants/domains.ts","../src/constants/names.ts","../src/random/randomHandle.ts","../src/random/randomEmail.ts","../src/constants/unicode.ts","../src/random/randomEmoji.ts","../src/random/randomEnumKey.ts","../src/random/randomEnumValue.ts","../src/constants/words.ts","../src/random/randomWord.ts","../src/random/randomParagraph.ts","../src/random/randomFile.ts","../src/constants/hex.ts","../src/random/randomHexColor.ts","../src/random/randomHexValue.ts","../src/random/randomHtmlColorName.ts","../src/constants/banking.ts","../src/random/randomIBAN.ts","../src/random/randomIP.ts","../src/random/randomName.ts","../src/random/randomNumericCode.ts","../src/random/randomNumericId.ts","../src/random/randomPassword.ts","../src/random/randomUUID.ts"],"names":["array","length","mapFn","capitalize","string","clamp","number","min","max","cleanSpaces","str","first","arr","getKeys","arg","getEnumerableOwnPropertySymbols","symbol","last","isArray","isBoolean","isServer","isClient","isBrowser","isString","isEmail","isObject","isEmpty","isEmptyObject","isEmptyArray","isEmptyString","isFunction","isJsDate","isKey","key","obj","isInt","isEven","isOdd","isPositive","isNegative","isNumber","isNumeric","num","isPromise","isPWA","canUseSymbol","REACT_ELEMENT_TYPE","isReactElement","value","isRegExp","isStringDate","date","isUndefined","pattern","isURL","isUUID","isValue","merge","target","source","merger","moveToFirst","items","condition","resortedItems","i","firstItem","moveToLast","lastItem","parseDate","pretty","promiseWithTimeout","promise","timeoutMs","error","timeout","timeoutPromise","_","reject","sleep","timeMs","resolve","toggleArray","copy","acc","val","truncate","limit","ellipsis","argArray","UK_ADDRESSES","US_ADDRESSES","EUROPE_ADDRESSES","MIXED_ADDRESSES","ADDRESSES","randomInt","start","end","randomPositiveInt","randomNegativeInt","randomMaxSafeInt","randomMaxInt","randomPercentage","randomArrayItem","randomAddress","chars","randomAlphaNumericCode","randomBool","JS_MAX_DIGITS","randomFloat","decimals","float","randomCoords","randomLat","randomLng","randomDate","startDate","endDate","randomMaxDate","randomFutureDate","safeNow","randomPastDate","randomDateRange","DOMAIN_NAMES","ANIMAL_NAMES","TOOL_NAMES","LATIN_FIRST_NAMES","LATIN_LAST_NAMES","CYRILLIC_FIRST_NAMES","CYRILLIC_LAST_NAMES","JAPANESE_FIRST_NAMES","JAPANESE_LAST_NAMES","ARABIC_FIRST_NAMES","ARABIC_LAST_NAMES","FIRST_NAMES","LAST_NAMES","randomHandle","randomEmail","EMOJI_SAMPLE","SPECIAL_CHARACTERS","randomEmoji","randomEnumKey","enumObject","randomEnumValue","values","VERBS","NOUNS","ADJECTIVES","ADVERBS","LONG_WORDS","HTML_COLOR_NAME_SAMPLES","WORDS","randomWord","randomParagraph","fileExtensions","randomFile","name","extension","_extension","HEX_VALUES","randomHexColor","randomHexValue","randomHtmlColorName","IBAN_SAMPLES","randomIBAN","randomIP","randomName","randomFirstName","randomLastName","randomFullName","randomNumericCode","index","id","randomNumericId","randomPassword","randomUUID","digit12"],"mappings":"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CACF,CACF,ECvCO,IAAMO,EAAe,CAC1B,YACA,YACA,cACA,UACA,UACA,cACA,WACA,gBACA,cACA,UACA,UACA,SACA,gBACA,cACA,UACA,WACA,iBACA,WACA,SACA,SACA,SACA,SACF,ECvBO,IAAMC,EAAe,CAC1B,WACA,YACA,YACA,SACA,MACA,WACA,WACA,KACF,EAEaC,EAAa,CACxB,MACA,mBACA,WACA,gBACA,iBACA,cACA,iBACA,SACF,EAEaC,EAAoB,CAC/B,OACA,SACA,OACA,SACA,YACA,QACA,SACA,OACA,SACA,MACA,SACA,SACA,SACA,MACF,EAEaC,EAAmB,CAC9B,QACA,UACA,WACA,QACA,QACA,QACA,SACA,SACA,QACA,SACA,WACA,SACA,UACA,OACF,EAEaC,GAAuB,CAClC,6CACA,2BACA,uCACA,iCACA,2BACA,6CACA,yDACA,iCACA,uCACA,uCACA,qBACA,gCACF,EAEaC,GAAsB,CACjC,2BACA,6CACA,6CACA,iCACA,iCACA,iCACA,uCACA,uCACA,qBACA,uCACA,mDACA,iCACA,6CACA,0BACF,EAEaC,GAAuB,CAClC,iCACA,qBACA,iCACA,2BACA,qBACA,iCACA,6CACA,qBACA,2BACA,2BACA,qBACA,sCACF,EAEaC,GAAsB,CACjC,qBACA,iCACA,uCACA,iCACA,2BACA,2BACA,qBACA,iCACA,eACA,2BACA,uCACA,2BACA,iCACA,0BACF,EAEaC,GAAqB,CAChC,uCACA,qBACA,uCACA,iCACA,2BACA,iCACA,6CACA,2BACA,uCACA,uCACA,qBACA,gCACF,EAEaC,GAAoB,CAC/B,2BACA,uCACA,6CACA,2BACA,iCACA,iCACA,2BACA,uCACA,qBACA,uCACA,6CACA,iCACA,uCACA,0BACF,EAEaC,EAAc,CACzB,GAAGR,EACH,GAAGE,GACH,GAAGE,GACH,GAAGE,EACL,EAEaG,EAAa,CACxB,GAAGR,EACH,GAAGE,GACH,GAAGE,GACH,GAAGE,EACL,EChKO,IAAMG,EAAe,KAExBjC,EAAgBuB,CAAiB,EACjC,IACAvB,EAAgBwB,CAAgB,GAChC,YAAY,EAAIhC,EAAU,GAAI,EAAE,ECJ7B,IAAM0C,GAAc,IACzB,GAAGD,EAAa,KAAKjC,EAAgBoB,CAAY,ICN5C,IAAMe,EAAe,CAC1B,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACF,EAEaC,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EChBlE,IAAMC,GAAc,IAClBrC,EAAgBmC,CAAY,ECD9B,IAAMG,GAAmCC,GACvCvC,EACL,OAAO,KAAKuC,CAAU,EAAE,OAAQ7G,GAAQ,CAACQ,EAAUR,CAAG,CAAC,CACzD,ECHK,IAAM8G,GACXD,GACe,CACf,IAAIE,EAAuB,CAAC,EAE5B,cAAO,OAAOF,CAAU,EAAE,QAAS9F,GAAU,CAEvChB,EAAMgB,EAAO8F,CAAU,GAAK,CAACE,EAAO,SAAShG,CAAmB,GAClEgG,EAAO,KAAKF,EAAW9F,CAAgB,CAAC,CAC5C,CAAC,EAEMuD,EAAgByC,CAAM,CAC/B,ECfO,IAAMC,GAAQ,CACnB,QACA,SACA,SACA,aACA,UACA,UACA,MACA,QACA,MACA,SACA,SACA,QACA,QACA,UACA,SACA,SACA,QACA,QACA,QACA,KACA,KACA,OACA,MACF,EAEaC,GAAQ,CACnB,UACA,UACA,OACA,WACA,QACA,QACA,SACA,UACA,SACA,UACF,EAEaC,GAAa,CACxB,YACA,YACA,UACA,OACA,WACA,UACA,WACA,QACA,QACA,SACA,UACA,SACA,UACF,EAEaC,GAAU,CACrB,aACA,SACA,iBACA,aACA,WACA,aACA,YACA,eACA,gBACA,cACA,aACA,aACA,eACA,iBACF,EAEaC,GAAa,CACxB,gDACA,gCACA,iCACA,uCACA,+BACA,qCACA,6BACF,EAqEO,IAAMC,EAA0B,CACrC,YACA,OACA,aACA,QACA,QACA,SACA,QACA,OACA,aACA,QACA,YACA,YACA,aACA,YACA,QACA,gBACA,WACA,OACA,OACA,QACA,SACA,SACA,WACF,EAEaC,EAAQ,CACnB,GAAGN,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,EACL,EClLO,IAAMG,EAAa,IACjBjD,EAAgBgD,CAAK,ECAvB,IAAME,EAAkB,IACtBtJ,EAAWH,EAAM,EAAG,IAAMwJ,EAAW,CAAC,EAAE,KAAK,GAAG,CAAC,EAAI,ICD9D,IAAME,GAAiB,CAAC,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAM,EAGrDC,GAAa,CAAC,CACzB,KAAAC,EACA,UAAAC,CACF,EAGI,CAAC,IAAwB,CAC3B,GAAI,OAAO,MAAS,YAAa,OAEjC,IAAMC,EAAaD,GAAatD,EAAgBmD,EAAc,EAC9D,OAAO,IAAI,KACT,CAACD,EAAgB,CAAC,EAClB,GAAGG,GAAQJ,EAAW,KAAKM,IAC3B,CACE,KAAM,SAASA,GACjB,CACF,CACF,ECxBO,IAAMC,EAAa,CACxB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GACF,ECbO,IAAMC,GAAiB,IACrB,IAAMhK,EAAM,EAAG,IAAMuG,EAAgBwD,CAAU,CAAC,EAAE,KAAK,EAAE,ECF3D,IAAME,GAAiB,IACrB1D,EAAgBwD,CAAU,ECD5B,IAAMG,EAAsB,IAC1B3D,EAAgB+C,CAAuB,ECJzC,IAAMa,EAAe,CAC1B,2BACA,uBACA,mBACA,yBACA,yBACA,+BACA,wBACA,yBACA,+BACA,2BACA,yBACA,+BACA,uBACA,2BACA,qBACA,qBACA,8BACA,yBACA,wBACF,ECjBO,IAAMC,GAAa,IACjB7D,EAAgB4D,CAAY,ECF9B,IAAME,GAAW,IACf,GAAGtE,EAAU,EAAG,GAAG,EAAE,SAAS,KAAKA,EACxC,EACA,GACF,EAAE,SAAS,KAAKA,EAAU,EAAG,GAAG,EAAE,SAAS,KAAKA,EAC9C,EACA,GACF,EAAE,SAAS,ICCN,IAAMuE,GAAa,IACxB/D,EAAgB,CAAC,GAAGqB,EAAc,GAAGC,CAAU,CAAC,EAErC0C,GAAkB,IAAMhE,EAAgB+B,CAAW,EAEnDkC,GAAiB,IAAMjE,EAAgBgC,CAAU,EAEjDkC,GAAiB,IAC5BlE,EAAgBuB,CAAiB,EAAI,IAAMvB,EAAgBwB,CAAgB,ECLtE,IAAM2C,GAAoB,CAAC,CAAE,OAAAzK,EAAS,CAAE,EAAyB,CAAC,IAAM,CAC7E,GAAIA,EAAS,EACX,MAAM,IAAI,MAAM,mDAAmD,EAErE,OAAOD,EAAMC,EAAQ,CAAC4E,EAAG8F,IAAU5E,EAAW4E,EAAY,EAAJ,EAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAC1E,EClBA,IAAIC,GAAK,EAEIC,EAAkB,IACtBD,KCEF,IAAME,GAAiB,IAC5BZ,EAAoB,EACpB3D,EAAgBoC,CAAkB,EAClC5C,EAAU,GAAI,EAAE,ECCX,IAAMgF,GAAa,IAAM,CAC9B,IAAMH,EAAKC,EAAgB,EAAE,SAAS,EAAE,SAAS,GAAI,GAAG,EAClDG,EAAUJ,EAAG,UAAU,EAAG,EAAE,EAElC,MAAO,uBADQA,EAAG,UAAU,GAAI,EAAE,KACMI,GAC1C","sourcesContent":["export const array = <U extends (...args: any) => any>(\n length: number,\n mapFn: U\n): ReturnType<U>[] => {\n return Array.from({ length }, mapFn);\n};\n","export const capitalize = (string: string) => {\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n","export const clamp = ({\n number,\n min,\n max,\n}: {\n number: number;\n min: number;\n max: number;\n}) => {\n if (max < min && process.env.DEVERYTHING_WARNINGS) {\n console.warn(\"clamp: max < min\", { number, min, max });\n }\n\n if (number < min) {\n return min;\n }\n\n if (number > max) {\n return max;\n }\n\n return number;\n};\n","export const cleanSpaces = (str: string): string => {\n return str.trim().replace(/\\s{2,}/g, \" \");\n};\n","export const first = <T>(arr?: T[]): T | undefined => arr?.[0];\n","export const getKeys = (arg: object) => {\n return Object.keys(arg).concat(getEnumerableOwnPropertySymbols(arg));\n};\n\n// Object.keys does not return enumerable symbols\nexport const getEnumerableOwnPropertySymbols = (arg: object): any[] => {\n return Object.getOwnPropertySymbols\n ? Object.getOwnPropertySymbols(arg).filter(function (symbol) {\n return Object.propertyIsEnumerable.call(arg, symbol);\n })\n : [];\n};\n","export const last = <T>(arr?: T[]): T | undefined => arr?.[arr.length - 1];\n","export const isArray = <T>(arg?: any): arg is T[] => Array.isArray(arg);\n","export const isBoolean = (arg: any) =>\n Object.prototype.toString.call(arg) === \"[object Boolean]\";\n","export const isServer = () => typeof window === \"undefined\";\n","import { isServer } from \"./isServer\";\n\nexport const isClient = () => !isServer();\n","import { isClient } from \"./isClient\";\n\nexport const isBrowser = isClient;\n","export const isString = (arg: any) => typeof arg === \"string\";\n","import { isString } from \"./isString\";\n\nexport const isEmail = (arg: string) =>\n isString(arg) && /\\S+@\\S+\\.\\S+/.test(arg);\n","export const isObject = <T>(arg?: any): arg is Record<string, T> =>\n Object.prototype.toString.call(arg) === \"[object Object]\";\n","import { Maybe } from \"../types\";\nimport { isArray } from \"./isArray\";\nimport { isObject } from \"./isObject\";\nimport { isString } from \"./isString\";\n\nexport const isEmpty = (arg?: Maybe<any>) => {\n if (isEmptyObject(arg)) return true;\n if (isEmptyArray(arg)) return true;\n if (isEmptyString(arg)) return true;\n\n return arg === undefined || arg === null;\n};\n\nexport const isEmptyString = (arg: string) => {\n return isString(arg) && arg.trim().length === 0;\n};\n\nexport const isEmptyArray = (arg: any[]) => {\n return isArray(arg) && arg.length === 0;\n};\n\nexport const isEmptyObject = (arg: Object) => {\n return isObject(arg) && Object.keys(arg).length === 0;\n};\n","export const isFunction = (arg: any) =>\n Object.prototype.toString.call(arg) === \"[object Function]\";\n","export const isJsDate = (arg: Date): arg is Date =>\n Object.prototype.toString.call(arg) === \"[object Date]\" &&\n !isNaN(arg as unknown as number);\n","export const isKey = <T extends object>(\n key: string | number | symbol,\n obj: T\n): key is keyof T =>\n obj.hasOwnProperty(key) && // makes sure the prop is not in the prototype chain\n obj.propertyIsEnumerable(key); // makes sure the prop is not a getter/setter\n","export const isInt = (arg: number) => Number.isInteger(arg);\n\nexport const isEven = (arg: number) => isInt(arg) && !(arg % 2);\n\nexport const isOdd = (arg: number) => isInt(arg) && !!(arg % 2);\n\nexport const isPositive = (arg: number) => isInt(arg) && arg > 0;\n\nexport const isNegative = (arg: number) => isInt(arg) && arg < 0;\n\nexport const isNumber = (arg: any): arg is number => {\n return (\n Object.prototype.toString.apply(arg) === \"[object Number]\" && isFinite(arg)\n );\n};\n","export const isNumeric = (num: number | string): boolean => {\n return !isNaN(num as number); // isNaN DOES actually work with string-numbers!\n};\n","export const isPromise = (arg: any) => arg instanceof Promise;\n","import { isClient } from \"./isClient\";\n\nexport const isPWA = () => {\n return isClient() && window.matchMedia(\"(display-mode: standalone)\").matches; // credits to Narcis\n};\n","var canUseSymbol = typeof Symbol === \"function\" && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for(\"react.element\") : 0xeac7;\n\nexport const isReactElement = (value: any) => {\n return value.$$typeof === REACT_ELEMENT_TYPE;\n};\n","export const isRegExp = (arg: any): arg is RegExp =>\n Object.prototype.toString.call(arg) === \"[object RegExp]\";\n","import { isJsDate } from \"./isJsDate\";\n\nexport const isStringDate = (arg: string) => {\n const date = new Date(arg);\n return isJsDate(date);\n};\n","export const isUndefined = (arg: any) => typeof arg === \"undefined\";\n","const pattern = new RegExp(\n \"^(https?:\\\\/\\\\/)?\" + // protocol\n \"((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.?)+[a-z]{2,}|\" + // domain name\n \"((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))\" + // OR ip (v4) address\n \"(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*\" + // port and path\n \"(\\\\?[;&a-z\\\\d%_.~+=-]*)?\" + // query string\n \"(\\\\#[-a-z\\\\d_]*)?$\",\n \"i\"\n); // fragment locator\n\nexport const isURL = (arg: string) => {\n return !!arg && pattern.test(arg);\n};\n","export const isUUID = (arg: string) =>\n /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(\n arg\n );\n","import { Maybe } from \"../types\";\n\nexport const isValue = (arg?: Maybe<any>) => {\n return arg !== undefined && arg !== null && !Number.isNaN(arg);\n};\n","import { PlainObject } from \"../types\";\nimport { isKey, isObject } from \"../validators\";\nimport { getKeys } from \"./getKeys\";\n\n// Simple merge function that merges two objects, arrays get overwritten, no options\nexport const merge = (target: PlainObject, source: PlainObject) => {\n const merger: PlainObject = {};\n getKeys(target).forEach((key) => {\n merger[key] = isObject(target[key]) ? merge({}, target[key]) : target[key];\n });\n getKeys(source).forEach((key) => {\n if (isKey(key, target))\n merger[key] =\n isObject(target[key]) && isObject(source[key])\n ? merge(target[key], source[key])\n : source[key];\n else\n merger[key] = isObject(source[key])\n ? merge({}, source[key])\n : source[key];\n });\n return merger;\n};\n","export const moveToFirst = <T>(\n items: T[],\n condition: (item: T, i: number, items: T[]) => boolean\n): T[] => {\n const resortedItems = [...items];\n for (let i = 0; i < resortedItems.length; i++) {\n if (condition(resortedItems[i], i, resortedItems)) {\n let firstItem = resortedItems.splice(i, 1);\n resortedItems.unshift(firstItem[0]);\n break;\n }\n }\n return resortedItems;\n};\n","export const moveToLast = <T>(\n items: T[],\n condition: (item: T, i: number, items: T[]) => boolean\n): T[] => {\n const resortedItems = [...items];\n for (let i = 0; i < resortedItems.length; i++) {\n if (condition(resortedItems[i], i, resortedItems)) {\n let lastItem = resortedItems.splice(i, 1)[0];\n resortedItems.push(lastItem);\n break;\n }\n }\n return resortedItems;\n};\n","import { DateLike, Maybe } from \"../types\";\nimport { isEmpty } from \"../validators/isEmpty\";\nimport { isJsDate } from \"../validators/isJsDate\";\n\nexport const parseDate = (arg?: Maybe<DateLike>) => {\n if (isEmpty(arg)) return;\n\n const date = new Date(arg!);\n\n if (!isJsDate(date)) return;\n\n return date;\n};\n","export const pretty = (arg: any) => {\n return JSON.stringify(arg, null, 2);\n};\n","export const promiseWithTimeout = <T>(\n promise: () => Promise<T>,\n timeoutMs: number,\n error?: Error\n): Promise<T> => {\n let timeout: ReturnType<typeof setTimeout>;\n const timeoutPromise = new Promise<never>((_, reject) => {\n timeout = setTimeout(\n () => reject(error ?? new Error(\"Promise timed out\")),\n timeoutMs\n );\n });\n\n return Promise.race([promise(), timeoutPromise]).finally(() => {\n clearTimeout(timeout);\n });\n};\n","export const sleep = (timeMs: number): Promise<void> => {\n return new Promise((resolve) => {\n setTimeout(resolve, timeMs);\n });\n};\n","import { isArray } from \"../validators\";\n\nexport const toggleArray = <T>(arg: T[], value: T) => {\n if (isArray<T>(arg)) {\n const copy: T[] = arg.reduce((acc: T[], val) => {\n if (val !== value) acc.push(val);\n return acc;\n }, []);\n if (copy.length === arg.length) copy.push(value);\n return copy;\n }\n\n return arg;\n};\n","import { isPositive } from \"../validators/isNumber\";\n\nexport const truncate = (arg: string, limit: number, ellipsis = \"...\") => {\n if (!isPositive(limit)) return arg;\n\n const argArray = [...arg]; // convert string to array, emoji and unicode safe\n\n if (argArray.length <= limit) return arg;\n\n return argArray.slice(0, limit).join(\"\") + ellipsis;\n};\n","export const UK_ADDRESSES = [\n {\n city: \"London\",\n country: \"United Kingdom\",\n street: \"Baker Street\",\n number: \"221B\",\n zip: \"NW1 6XE\",\n },\n {\n city: \"Birmingham\",\n country: \"United Kingdom\",\n street: \"Bordesley Street\",\n number: \"B1 1AA\",\n zip: \"B1 1AA\",\n },\n];\n\nexport const US_ADDRESSES = [\n {\n city: \"New York\",\n country: \"United States\",\n street: \"Broadway\",\n number: \"42\",\n zip: \"10036\",\n },\n {\n city: \"Los Angeles\",\n country: \"United States\",\n street: \"Hollywood Boulevard\",\n number: \"6801\",\n zip: \"90028\",\n },\n];\n\nexport const EUROPE_ADDRESSES = [\n {\n city: \"Paris\",\n country: \"France\",\n street: \"Rue de Rivoli\",\n number: \"75001\",\n zip: \"75001\",\n },\n {\n city: \"Berlin\",\n country: \"Germany\",\n street: \"Unter den Linden\",\n number: \"10117\",\n zip: \"10117\",\n },\n {\n city: \"Rome\",\n country: \"Italy\",\n street: \"Via del Corso\",\n number: \"00186\",\n zip: \"00186\",\n },\n {\n city: \"Madrid\",\n country: \"Spain\",\n street: \"Gran Vía\",\n number: \"28013\",\n zip: \"28013\",\n },\n];\n\nexport const MIXED_ADDRESSES = [\n {\n city: \"Moscow\",\n country: \"Russia\",\n street: \"Tverskaya\",\n number: \"101000\",\n zip: \"101000\",\n },\n {\n city: \"Tokyo\",\n country: \"Japan\",\n street: \"Shinjuku\",\n number: \"160-0022\",\n zip: \"160-0022\",\n },\n {\n city: \"Beijing\",\n country: \"China\",\n street: \"Changan\",\n number: \"100005\",\n zip: \"100005\",\n },\n {\n city: \"Cairo\",\n country: \"Egypt\",\n street: \"Al-Muizz\",\n number: \"11511\",\n\n zip: \"11511\",\n },\n {\n city: \"Buenos Aires\",\n country: \"Argentina\",\n street: \"Avenida de Mayo\",\n number: \"1002\",\n zip: \"C1006AAQ\",\n },\n {\n city: \"Cape Town\",\n country: \"South Africa\",\n street: \"Adderley\",\n number: \"7700\",\n zip: \"7700\",\n },\n {\n city: \"Sydney\",\n country: \"Australia\",\n street: \"George\",\n number: \"2000\",\n zip: \"2000\",\n },\n {\n city: \"Rio de Janeiro\",\n country: \"Brazil\",\n street: \"Av. Presidente Vargas\",\n number: \"20021-000\",\n zip: \"20021-000\",\n },\n {\n city: \"Mexico City\",\n country: \"Mexico\",\n street: \"Paseo de la Reforma\",\n number: \"06500\",\n zip: \"06500\",\n },\n];\n\nexport const ADDRESSES = [\n ...UK_ADDRESSES,\n ...US_ADDRESSES,\n ...EUROPE_ADDRESSES,\n ...MIXED_ADDRESSES,\n];\n\nexport const CITIES = [\n \"London\",\n \"Birmingham\",\n \"New York\",\n \"Los Angeles\",\n \"Paris\",\n \"Berlin\",\n \"Rome\",\n \"Madrid\",\n \"Moscow\",\n \"Tokyo\",\n \"Beijing\",\n \"Cairo\",\n \"Buenos Aires\",\n \"Cape Town\",\n \"Sydney\",\n \"Rio de Janeiro\",\n \"Mexico City\",\n];\n\nexport const US_STATE_CODE_SAMPLES = [\n \"AL\",\n \"AK\",\n \"AZ\",\n \"AR\",\n \"CA\",\n \"CO\",\n \"CT\",\n \"DE\",\n \"FL\",\n \"GA\",\n \"HI\",\n];\n\nexport const ZIP_SAMPLES = [\n \"10036\",\n \"90028\",\n \"75001\",\n \"10117\",\n \"00186\",\n \"28013\",\n \"101000\",\n];\n","export const randomInt = (start: number = -100, end: number = 100): number =>\n Math.floor(Math.random() * (end - start + 1) + start);\n\nexport const randomPositiveInt = (end: number = 100): number =>\n randomInt(1, end);\n\nexport const randomNegativeInt = (start: number = -100): number =>\n randomInt(start, -1);\n\nexport const randomMaxSafeInt = () =>\n randomInt(-Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n\nexport const randomMaxInt = () =>\n randomInt(-Number.MAX_VALUE, Number.MAX_VALUE);\n\nexport const randomPercentage = () => randomInt(-100, 100);\n","import { randomInt } from \"./randomInt\";\n\nexport const randomArrayItem = <T>(array: T[]): T => {\n return array[randomInt(0, array.length - 1)];\n};\n","import { ADDRESSES } from \"../constants/addresses\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomAddress = () => {\n return randomArrayItem(ADDRESSES);\n};\n","import { array } from \"../helpers/array\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\n//avoid 0s and Os as they get confused with each other\nconst chars = \"123456789ABCDEFGHIJKLMNPQRSTUVWXYZ\".split(\"\");\n\n/**\n * Generates a random alphanumeric code that can be used for verification codes, etc.\n * Does not contain 0s or Os as they get confused with each other.\n * @param length The length of the code to generate.\n * @returns A random alphanumeric code.\n * @example\n * randomAlphaNumericCode(); => \"A2G4G6\"\n */\nexport const randomAlphaNumericCode = ({\n length = 6,\n}: { length?: number } = {}) => {\n if (length < 1)\n throw new Error(\"randomAlphaNumericCode: Length must be greater than 0.\");\n\n return array(length, () => randomArrayItem(chars)).join(\"\");\n};\n","import { randomInt } from \"./randomInt\";\n\nexport const randomBool = () => !!randomInt(0, 1);\n","import { isValue } from \"../validators/isValue\";\n\n// Max js digits is theoretically 17, but is actually 16, see Math.random output.\nexport const JS_MAX_DIGITS = 16;\n\n// TODO: with big numbers there will be less digits\nexport const randomFloat = (\n min: number = -9,\n max: number = 9,\n decimals?: number // toFixed accepts max 100 anyway... even if the docs say 20\n) => {\n const float = Math.random() * (max - min) + min;\n\n if (isValue(decimals)) return parseFloat(float.toFixed(decimals));\n\n return float;\n};\n\n// TODO: randomBigFloat\n","import { Coords } from \"../types\";\nimport { randomFloat } from \"./randomFloat\";\n\nexport const randomCoords = (): Coords => {\n return {\n lat: randomLat(),\n lng: randomLng(),\n };\n};\n\nexport const randomLat = () => {\n return randomFloat(-90, 90);\n};\n\nexport const randomLng = () => {\n return randomFloat(-180, 180);\n};\n","import {\n MILLISECONDS_IN_DECADE,\n MAX_DATE_MILLISECONDS,\n MILLISECONDS_IN_MINUTE,\n} from \"../constants/time\";\n\nexport const randomDate = (start?: Date, end?: Date) => {\n const startDate = start || new Date(-MILLISECONDS_IN_DECADE);\n const endDate = end || new Date(MILLISECONDS_IN_DECADE);\n return new Date(\n startDate.getTime() +\n Math.random() * (endDate.getTime() - startDate.getTime())\n );\n};\n\nexport const randomMaxDate = (start?: Date, end?: Date) => {\n const startDate = start || new Date(-MAX_DATE_MILLISECONDS);\n const endDate = end || new Date(MAX_DATE_MILLISECONDS);\n return randomDate(startDate, endDate);\n};\n\nexport const randomFutureDate = () => {\n // Add a safe margin in the future (i.e. lagging tests). About 5 minutes is enough.\n const safeNow = new Date(new Date().getTime() + 5 * MILLISECONDS_IN_MINUTE);\n return randomDate(safeNow);\n};\n\nexport const randomPastDate = () => {\n return randomDate(undefined, new Date());\n};\n\nexport const randomDateRange = () => {\n const startDate = randomDate();\n const endDate = randomDate(startDate);\n\n return {\n endDate,\n startDate,\n };\n};\n","export const DOMAIN_NAMES = [\n \"gmail.com\",\n \"yahoo.com\",\n \"hotmail.com\",\n \"aol.com\",\n \"msn.com\",\n \"comcast.net\",\n \"live.com\",\n \"sbcglobal.net\",\n \"verizon.net\",\n \"att.net\",\n \"mac.com\",\n \"me.com\",\n \"earthlink.net\",\n \"charter.net\",\n \"shaw.ca\",\n \"yahoo.ca\",\n \"googlemail.com\",\n \"mail.com\",\n \"qq.com\",\n \"web.de\",\n \"gmx.de\",\n \"mail.ru\",\n];\n","export const ANIMAL_NAMES = [\n \"Aardvark\",\n \"Albatross\",\n \"Alligator\",\n \"Alpaca\",\n \"Ant\",\n \"Anteater\",\n \"Antelope\",\n \"Ape\",\n];\n\nexport const TOOL_NAMES = [\n \"Axe\",\n \"Ball Peen Hammer\",\n \"Band Saw\",\n \"Bench Grinder\",\n \"Biscuit Joiner\",\n \"Bolt Cutter\",\n \"Boring Machine\",\n \"Bow Saw\",\n];\n\nexport const LATIN_FIRST_NAMES = [\n \"Adam\",\n \"Adrian\",\n \"Alan\",\n \"Albert\",\n \"Alexander\",\n \"Alice\",\n \"Amanda\",\n \"Emma\",\n \"Amelia\",\n \"Amy\",\n \"Andrew\",\n \"Esther\",\n \"Olivia\",\n \"Ruby\",\n];\n\nexport const LATIN_LAST_NAMES = [\n \"Smith\",\n \"Johnson\",\n \"Williams\",\n \"Jones\",\n \"Brown\",\n \"Davis\",\n \"Miller\",\n \"Wilson\",\n \"Moore\",\n \"Taylor\",\n \"Anderson\",\n \"Thomas\",\n \"Jackson\",\n \"White\",\n];\n\nexport const CYRILLIC_FIRST_NAMES = [\n \"Абигаил\",\n \"Адам\",\n \"Адриан\",\n \"Агнес\",\n \"Алан\",\n \"Альберт\",\n \"Александр\",\n \"Алиса\",\n \"Аманда\",\n \"Амелия\",\n \"Эми\",\n \"Эндрю\",\n];\n\nexport const CYRILLIC_LAST_NAMES = [\n \"Смит\",\n \"Джонсон\",\n \"Уильямс\",\n \"Джонс\",\n \"Браун\",\n \"Дэвис\",\n \"Миллер\",\n \"Вилсон\",\n \"Мур\",\n \"Тейлор\",\n \"Андерсон\",\n \"Томас\",\n \"Джексон\",\n \"Уайт\",\n];\n\nexport const JAPANESE_FIRST_NAMES = [\n \"アビゲイル\",\n \"アダム\",\n \"アドリアン\",\n \"アグネス\",\n \"アラン\",\n \"アルバート\",\n \"アレクサンダー\",\n \"アリス\",\n \"アマンダ\",\n \"アメリア\",\n \"アミー\",\n \"アンドリュー\",\n];\n\nexport const JAPANESE_LAST_NAMES = [\n \"スミス\",\n \"ジョンソン\",\n \"ウィリアムズ\",\n \"ジョーンズ\",\n \"ブラウン\",\n \"デイビス\",\n \"ミラー\",\n \"ウィルソン\",\n \"モア\",\n \"タイラー\",\n \"アンダーソン\",\n \"トーマス\",\n \"ジャクソン\",\n \"ホワイト\",\n];\n\nexport const ARABIC_FIRST_NAMES = [\n \"أبيجيل\",\n \"آدم\",\n \"آدريان\",\n \"أغنيس\",\n \"آلان\",\n \"آلبرت\",\n \"ألكسندر\",\n \"آليس\",\n \"آماندا\",\n \"آميليا\",\n \"آمي\",\n \"أندرو\",\n];\n\nexport const ARABIC_LAST_NAMES = [\n \"سميث\",\n \"جونسون\",\n \"ويليامز\",\n \"جونز\",\n \"براون\",\n \"ديفيس\",\n \"ميلر\",\n \"ويلسون\",\n \"مور\",\n \"تايلور\",\n \"أندرسون\",\n \"توماس\",\n \"جاكسون\",\n \"وايت\",\n];\n\nexport const FIRST_NAMES = [\n ...LATIN_FIRST_NAMES,\n ...CYRILLIC_FIRST_NAMES,\n ...JAPANESE_FIRST_NAMES,\n ...ARABIC_FIRST_NAMES,\n];\n\nexport const LAST_NAMES = [\n ...LATIN_LAST_NAMES,\n ...CYRILLIC_LAST_NAMES,\n ...JAPANESE_LAST_NAMES,\n ...ARABIC_LAST_NAMES,\n];\n","import { LATIN_FIRST_NAMES, LATIN_LAST_NAMES } from \"../constants/names\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomInt } from \"./randomInt\";\n\nexport const randomHandle = () =>\n (\n randomArrayItem(LATIN_FIRST_NAMES) +\n \".\" +\n randomArrayItem(LATIN_LAST_NAMES)\n ).toLowerCase() + randomInt(11, 99);\n","import { DOMAIN_NAMES } from \"../constants/domains\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomHandle } from \"./randomHandle\";\n\n//Use randomId() to generate a unique email\nexport const randomEmail = () =>\n `${randomHandle()}@${randomArrayItem(DOMAIN_NAMES)}`;\n","export const EMOJI_SAMPLE = [\n \"😀\",\n \"😁\",\n \"😂\",\n \"🤣\",\n \"😃\",\n \"😄\",\n \"😅\",\n \"😆\",\n \"😉\",\n \"😊\",\n \"😋\",\n \"😎\",\n \"😍\",\n \"😘\",\n \"😗\",\n \"😙\",\n];\n\nexport const SPECIAL_CHARACTERS = [\"!\", \"@\", \"#\", \"$\", \"%\", \"^\", \"&\", \"*\"];\n","import { EMOJI_SAMPLE } from \"../constants/unicode\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEmoji = () => {\n return randomArrayItem(EMOJI_SAMPLE);\n};\n","import { isNumeric } from \"../validators/isNumeric\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEnumKey = <T extends object>(enumObject: T): keyof T => {\n return randomArrayItem(\n Object.keys(enumObject).filter((key) => !isNumeric(key)) // key cannot be a number\n ) as keyof T;\n};\n","import { isKey } from \"../validators/isKey\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEnumValue = <T extends object>(\n enumObject: T\n): T[keyof T] => {\n let values: T[keyof T][] = [];\n\n Object.values(enumObject).forEach((value) => {\n // types are tricky here because the value is used also to check if exists as a key\n if (isKey(value, enumObject) && !values.includes(value as T[keyof T]))\n values.push(enumObject[value as keyof T]);\n });\n\n return randomArrayItem(values);\n};\n","export const VERBS = [\n \"abide\",\n \"abound\",\n \"accept\",\n \"accomplish\",\n \"achieve\",\n \"acquire\",\n \"act\",\n \"adapt\",\n \"add\",\n \"adjust\",\n \"admire\",\n \"admit\",\n \"adopt\",\n \"advance\",\n \"advise\",\n \"afford\",\n \"agree\",\n \"alert\",\n \"allow\",\n \"be\",\n \"go\",\n \"need\",\n \"work\",\n];\n\nexport const NOUNS = [\n \"abandon\",\n \"ability\",\n \"able\",\n \"abortion\",\n \"about\",\n \"above\",\n \"abroad\",\n \"absence\",\n \"absent\",\n \"absolute\",\n];\n\nexport const ADJECTIVES = [\n \"abandoned\",\n \"abdominal\",\n \"ability\",\n \"able\",\n \"abnormal\",\n \"abolish\",\n \"abortion\",\n \"about\",\n \"above\",\n \"abroad\",\n \"absence\",\n \"absent\",\n \"absolute\",\n];\n\nexport const ADVERBS = [\n \"abnormally\",\n \"aboard\",\n \"absentmindedly\",\n \"absolutely\",\n \"absurdly\",\n \"abundantly\",\n \"abysmally\",\n \"academically\",\n \"acceleratedly\",\n \"accentually\",\n \"acceptably\",\n \"accessibly\",\n \"accidentally\",\n \"accommodatingly\",\n];\n\nexport const LONG_WORDS = [\n \"Pneumonoultramicroscopicsilicovolcanoconiosis\",\n \"Floccinaucinihilipilification\",\n \"Pseudopseudohypoparathyroidism\",\n \"Hippopotomonstrosesquippedaliophobia\",\n \"Antidisestablishmentarianism\",\n \"Supercalifragilisticexpialidocious\",\n \"Honorificabilitudinitatibus\",\n];\n\nexport const JS_RESERVED_WORDS = [\n \"abstract\",\n \"arguments\",\n \"await\",\n \"boolean\",\n \"break\",\n \"byte\",\n \"case\",\n \"catch\",\n \"char\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"double\",\n \"else\",\n \"enum*\",\n \"eval\",\n \"export\",\n \"extends\",\n \"false\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"function\",\n \"goto\",\n \"if\",\n \"implements\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"int\",\n \"interface\",\n \"let\",\n \"long\",\n \"native\",\n \"new\",\n \"null\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"return\",\n \"short\",\n \"static\",\n \"super\",\n \"switch\",\n \"synchronized\",\n \"this\",\n \"throw\",\n \"throws\",\n \"transient\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"volatile\",\n \"while\",\n \"with\",\n \"yield\",\n];\n\nexport const HTML_COLOR_NAME_SAMPLES = [\n \"AliceBlue\",\n \"Aqua\",\n \"Aquamarine\",\n \"Azure\",\n \"Beige\",\n \"Bisque\",\n \"Black\",\n \"Blue\",\n \"BlueViolet\",\n \"Brown\",\n \"BurlyWood\",\n \"CadetBlue\",\n \"Chartreuse\",\n \"Chocolate\",\n \"Coral\",\n \"DarkSlateGray\",\n \"DeepPink\",\n \"Gold\",\n \"Lime\",\n \"Olive\",\n \"Orchid\",\n \"Salmon\",\n \"Turquoise\",\n];\n\nexport const WORDS = [\n ...VERBS,\n ...NOUNS,\n ...ADJECTIVES,\n ...ADVERBS,\n ...LONG_WORDS,\n];\n","import { WORDS } from \"../constants/words\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomWord = () => {\n return randomArrayItem(WORDS);\n};\n","import { array } from \"../helpers\";\nimport { capitalize } from \"../helpers/capitalize\";\nimport { randomWord } from \"./randomWord\";\n\nexport const randomParagraph = () => {\n return capitalize(array(8, () => randomWord()).join(\" \")) + \".\";\n};\n","import { randomArrayItem } from \"./randomArrayItem\";\nimport { randomParagraph } from \"./randomParagraph\";\nimport { randomWord } from \"./randomWord\";\n\nconst fileExtensions = [\"png\", \"jpg\", \"jpeg\", \"gif\", \"svg\", \"webp\"];\n\n// This is a client only function\nexport const randomFile = ({\n name,\n extension,\n}: {\n name?: string;\n extension?: string;\n} = {}): File | undefined => {\n if (typeof File === \"undefined\") return undefined;\n\n const _extension = extension || randomArrayItem(fileExtensions);\n return new File(\n [randomParagraph()], // TODO: Use random char string\n `${name || randomWord()}.${_extension}`,\n {\n type: `image/${_extension}`,\n }\n );\n};\n","export const HEX_VALUES = [\n \"0\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n];\n","import { HEX_VALUES } from \"../constants/hex\";\nimport { array } from \"../helpers\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHexColor = () => {\n return \"#\" + array(6, () => randomArrayItem(HEX_VALUES)).join(\"\");\n};\n","import { HEX_VALUES } from \"../constants/hex\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHexValue = () => {\n return randomArrayItem(HEX_VALUES);\n};\n","import { HTML_COLOR_NAME_SAMPLES } from \"../constants/words\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHtmlColorName = () => {\n return randomArrayItem(HTML_COLOR_NAME_SAMPLES);\n};\n","export const IBAN_SAMPLES = [\n \"AD1200012030200359100100\",\n \"BA391290079401028494\",\n \"BE68539007547034\",\n \"BG80BNBG96611020345678\",\n \"BH67BMAG00001299123456\",\n \"BY13NBRB3600900000002Z00AB00\",\n \"CH9300762011623852957\",\n \"CR05015202001026284066\",\n \"CY17002001280000001200527600\",\n \"CZ6508000000192000145399\",\n \"DE89370400440532013000\",\n \"DO28BAGR00000001212453611324\",\n \"EE382200221020145685\",\n \"ES9121000418450200051332\",\n \"FI2112345600000785\",\n \"FO6264600001631634\",\n \"FR1420041010050500013M02606\",\n \"GB29NWBK60161331926819\",\n \"GE29NB0000000101904917\",\n];\n\nexport const BIC_SWIFT_SAMPLES = [\n \"ABNANL2A\",\n \"BKENGB2LXXX\",\n \"BUKBGB22\",\n \"CITIUS33\",\n \"CITIUS33XXX\",\n \"CSCHUS6SXXX\",\n \"NOSCCATTXXX\",\n];\n\nexport const CARD_NUMBER_SAMPLES = [\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n];\n\n//An ABA routing number is a nine-digit code that identifies banks in the U.S.\nexport const ABA_NUMBER_SAMPLES = [\n \"111000025\",\n \"081000210\",\n \"104000029\",\n \"091300023\",\n \"123000220\",\n];\n\nexport const ROUTING_NUMBER_SAMPLES = [\n \"637530215\",\n \"130436324\",\n \"611531133\",\n \"865673685\",\n];\n\nexport const BANK_ACCOUNT_NUMBER_SAMPLES = [\n \"64766774\",\n \"39526009\",\n \"25048213\",\n \"72796383\",\n];\n\nexport const VAT_REGISTRATION_NUMBER_SAMPLES = [\n \"IE1234567T\",\n \"GB123456789\",\n \"XI123456789\",\n];\n\nexport const SORT_CODE_SAMPLES = [\"100000\", \"902127\", \"800551\"];\n\nexport const SSN_SAMPLES = [\"235-55-7216\", \"372-37-3976\", \"414-99-6488\"];\n\nexport const BANK_NAME_SAMPLES = [\n \"Bank of England\",\n \"Bank of Ireland\",\n \"Bank of Scotland\",\n \"Bank of America\",\n];\n\nexport const COMPANY_NAME_SAMPLES = [\n \"Acme Inc.\",\n \"Acme Corp.\",\n \"Acme Ltd.\",\n \"Acme LLC\",\n \"Umbrella Corp.\",\n \"Umbrella Inc.\",\n \"Umbrella Ltd.\",\n \"Umbrella LLC\",\n];\n","import { IBAN_SAMPLES } from \"../constants/banking\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomIBAN = () => {\n return randomArrayItem(IBAN_SAMPLES);\n};\n","import { randomInt } from \"./randomInt\";\n\nexport const randomIP = () => {\n return `${randomInt(0, 255).toString()}.${randomInt(\n 0,\n 255\n ).toString()}.${randomInt(0, 255).toString()}.${randomInt(\n 0,\n 255\n ).toString()}`;\n};\n","import {\n ANIMAL_NAMES,\n FIRST_NAMES,\n LAST_NAMES,\n LATIN_FIRST_NAMES,\n LATIN_LAST_NAMES,\n TOOL_NAMES,\n} from \"../constants/names\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomName = () =>\n randomArrayItem([...ANIMAL_NAMES, ...TOOL_NAMES]);\n\nexport const randomFirstName = () => randomArrayItem(FIRST_NAMES);\n\nexport const randomLastName = () => randomArrayItem(LAST_NAMES);\n\nexport const randomFullName = () =>\n randomArrayItem(LATIN_FIRST_NAMES) + \" \" + randomArrayItem(LATIN_LAST_NAMES);\n","import { array } from \"../helpers/array\";\nimport { randomInt } from \"./randomInt\";\n\n/**\n * Generates a random numeric code that can be used for verification codes, etc.\n * Does not start with 0.\n * @param length The length of the code to generate.\n * @returns A random numeric code.\n * @example\n * randomNumericCode(); => \"123456\"\n * @example\n * randomNumericCode({ length: 4 }); => \"1234\"\n */\nexport const randomNumericCode = ({ length = 6 }: { length?: number } = {}) => {\n if (length < 1)\n throw new Error(\"randomNumericCode: Length must be greater than 0.\");\n\n return array(length, (_, index) => randomInt(!index ? 1 : 0, 9)).join(\"\");\n};\n","let id = 1; // don't start with 0, to be closer to SQL autoincrement\n\nexport const randomNumericId = () => {\n return id++;\n};\n","import { SPECIAL_CHARACTERS } from \"../constants/unicode\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomHtmlColorName } from \"./randomHtmlColorName\";\nimport { randomInt } from \"./randomInt\";\n\nexport const randomPassword = () =>\n randomHtmlColorName() + // So it has an upper case\n randomArrayItem(SPECIAL_CHARACTERS) + // So it has a special character\n randomInt(11, 99); // So it has a number\n","import { randomNumericId } from \"./randomNumericId\";\n\n/**\n * This is a light-weight version of the `generateUuid` function\n * To be used only for test purposed and NOT for production\n * Leave 0s, so it gets immediately recognized as a fake uuid\n *\n * /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i\n */\nexport const randomUUID = () => {\n const id = randomNumericId().toString().padStart(15, \"0\");\n const digit12 = id.substring(0, 12);\n const digit3 = id.substring(12, 15);\n return `00000000-0000-1000-8${digit3}-${digit12}`;\n};\n"]}
1
+ {"version":3,"sources":["../src/helpers/array.ts","../src/helpers/capitalize.ts","../src/helpers/clamp.ts","../src/helpers/cleanSpaces.ts","../src/helpers/first.ts","../src/helpers/getKeys.ts","../src/helpers/last.ts","../src/validators/isArray.ts","../src/validators/isBoolean.ts","../src/validators/isServer.ts","../src/validators/isClient.ts","../src/validators/isBrowser.ts","../src/validators/isString.ts","../src/validators/isEmail.ts","../src/validators/isObject.ts","../src/validators/isEmpty.ts","../src/validators/isFunction.ts","../src/validators/isJsDate.ts","../src/validators/isKey.ts","../src/validators/isNumber.ts","../src/validators/isNumeric.ts","../src/validators/isPromise.ts","../src/validators/isPWA.ts","../src/validators/isReactElement.ts","../src/validators/isRegExp.ts","../src/validators/isStringDate.ts","../src/validators/isUndefined.ts","../src/validators/isURL.ts","../src/validators/isUUID.ts","../src/validators/isValue.ts","../src/helpers/merge.ts","../src/helpers/moveToFirst.ts","../src/helpers/moveToLast.ts","../src/helpers/parseDate.ts","../src/helpers/pretty.ts","../src/helpers/promiseWithTimeout.ts","../src/helpers/sleep.ts","../src/helpers/toggleArray.ts","../src/helpers/truncate.ts","../src/constants/addresses.ts","../src/random/randomInt.ts","../src/random/randomArrayItem.ts","../src/random/randomAddress.ts","../src/random/randomAlphaNumericCode.ts","../src/random/randomBool.ts","../src/random/randomFloat.ts","../src/random/randomCoords.ts","../src/random/randomDate.ts","../src/constants/domains.ts","../src/constants/names.ts","../src/random/randomHandle.ts","../src/random/randomEmail.ts","../src/constants/unicode.ts","../src/random/randomEmoji.ts","../src/random/randomEnumKey.ts","../src/random/randomEnumValue.ts","../src/constants/words.ts","../src/random/randomWord.ts","../src/random/randomParagraph.ts","../src/random/randomFile.ts","../src/constants/hex.ts","../src/random/randomHexColor.ts","../src/random/randomHexValue.ts","../src/random/randomHtmlColorName.ts","../src/constants/banking.ts","../src/random/randomIBAN.ts","../src/random/randomIP.ts","../src/random/randomName.ts","../src/random/randomNumericCode.ts","../src/random/randomNumericId.ts","../src/random/randomPassword.ts","../src/random/randomUUID.ts"],"names":["array","length","mapFn","capitalize","string","clamp","number","min","max","cleanSpaces","str","first","arr","getKeys","arg","getEnumerableOwnPropertySymbols","symbol","last","isArray","isBoolean","isServer","isClient","isBrowser","isString","isEmail","isObject","isEmpty","isEmptyObject","isEmptyArray","isEmptyString","isFunction","isJsDate","isKey","key","obj","isInt","isEven","isOdd","isPositive","isNegative","isNumber","isNumeric","num","isPromise","isPWA","canUseSymbol","REACT_ELEMENT_TYPE","isReactElement","value","isRegExp","isStringDate","date","isUndefined","pattern","isURL","isUUID","isValue","merge","target","source","merger","moveToFirst","items","condition","resortedItems","i","firstItem","moveToLast","lastItem","parseDate","pretty","promiseWithTimeout","promise","timeoutMs","error","timeout","timeoutPromise","_","reject","sleep","timeMs","resolve","toggleArray","copy","acc","val","truncate","limit","ellipsis","argArray","UK_ADDRESSES","US_ADDRESSES","EUROPE_ADDRESSES","MIXED_ADDRESSES","ADDRESSES","randomInt","start","end","randomPositiveInt","randomNegativeInt","randomMaxSafeInt","randomMaxInt","randomPercentage","randomArrayItem","randomAddress","chars","randomAlphaNumericCode","randomBool","JS_MAX_DIGITS","randomFloat","decimals","float","randomCoords","randomLat","randomLng","randomDate","startDate","endDate","randomMaxDate","randomFutureDate","safeNow","randomPastDate","randomDateRange","DOMAIN_NAMES","ANIMAL_NAMES","TOOL_NAMES","LATIN_FIRST_NAMES","LATIN_LAST_NAMES","CYRILLIC_FIRST_NAMES","CYRILLIC_LAST_NAMES","JAPANESE_FIRST_NAMES","JAPANESE_LAST_NAMES","ARABIC_FIRST_NAMES","ARABIC_LAST_NAMES","FIRST_NAMES","LAST_NAMES","randomHandle","randomEmail","EMOJI_SAMPLE","SPECIAL_CHARACTERS","randomEmoji","randomEnumKey","enumObject","randomEnumValue","values","VERBS","NOUNS","ADJECTIVES","ADVERBS","LONG_WORDS","HTML_COLOR_NAME_SAMPLES","WORDS","randomWord","randomParagraph","fileExtensions","randomFile","name","extension","_extension","HEX_VALUES","randomHexColor","randomHexValue","randomHtmlColorName","IBAN_SAMPLES","randomIBAN","randomIP","randomName","randomFirstName","randomLastName","randomFullName","randomNumericCode","index","id","randomNumericId","randomPassword","randomUUID","digit12"],"mappings":"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IlC,UAAAA,CACF,CACF,ECvCO,IAAMO,EAAe,CAC1B,YACA,YACA,cACA,UACA,UACA,cACA,WACA,gBACA,cACA,UACA,UACA,SACA,gBACA,cACA,UACA,WACA,iBACA,WACA,SACA,SACA,SACA,SACF,ECvBO,IAAMC,EAAe,CAC1B,WACA,YACA,YACA,SACA,MACA,WACA,WACA,KACF,EAEaC,EAAa,CACxB,MACA,mBACA,WACA,gBACA,iBACA,cACA,iBACA,SACF,EAEaC,EAAoB,CAC/B,OACA,SACA,OACA,SACA,YACA,QACA,SACA,OACA,SACA,MACA,SACA,SACA,SACA,MACF,EAEaC,EAAmB,CAC9B,QACA,UACA,WACA,QACA,QACA,QACA,SACA,SACA,QACA,SACA,WACA,SACA,UACA,OACF,EAEaC,GAAuB,CAClC,6CACA,2BACA,uCACA,iCACA,2BACA,6CACA,yDACA,iCACA,uCACA,uCACA,qBACA,gCACF,EAEaC,GAAsB,CACjC,2BACA,6CACA,6CACA,iCACA,iCACA,iCACA,uCACA,uCACA,qBACA,uCACA,mDACA,iCACA,6CACA,0BACF,EAEaC,GAAuB,CAClC,iCACA,qBACA,iCACA,2BACA,qBACA,iCACA,6CACA,qBACA,2BACA,2BACA,qBACA,sCACF,EAEaC,GAAsB,CACjC,qBACA,iCACA,uCACA,iCACA,2BACA,2BACA,qBACA,iCACA,eACA,2BACA,uCACA,2BACA,iCACA,0BACF,EAEaC,GAAqB,CAChC,uCACA,qBACA,uCACA,iCACA,2BACA,iCACA,6CACA,2BACA,uCACA,uCACA,qBACA,gCACF,EAEaC,GAAoB,CAC/B,2BACA,uCACA,6CACA,2BACA,iCACA,iCACA,2BACA,uCACA,qBACA,uCACA,6CACA,iCACA,uCACA,0BACF,EAEaC,EAAc,CACzB,GAAGR,EACH,GAAGE,GACH,GAAGE,GACH,GAAGE,EACL,EAEaG,EAAa,CACxB,GAAGR,EACH,GAAGE,GACH,GAAGE,GACH,GAAGE,EACL,EChKO,IAAMG,EAAe,KAExBjC,EAAgBuB,CAAiB,EACjC,IACAvB,EAAgBwB,CAAgB,GAChC,YAAY,EAAIhC,EAAU,GAAI,EAAE,ECJ7B,IAAM0C,GAAc,IACzB,GAAGD,EAAa,KAAKjC,EAAgBoB,CAAY,ICN5C,IAAMe,EAAe,CAC1B,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACF,EAEaC,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EChBlE,IAAMC,GAAc,IAClBrC,EAAgBmC,CAAY,ECD9B,IAAMG,GAAmCC,GACvCvC,EACL,OAAO,KAAKuC,CAAU,EAAE,OAAQ7G,GAAQ,CAACQ,EAAUR,CAAG,CAAC,CACzD,ECHK,IAAM8G,GACXD,GACe,CACf,IAAIE,EAAuB,CAAC,EAE5B,cAAO,OAAOF,CAAU,EAAE,QAAS9F,GAAU,CAEvChB,EAAMgB,EAAO8F,CAAU,GAAK,CAACE,EAAO,SAAShG,CAAmB,GAClEgG,EAAO,KAAKF,EAAW9F,CAAgB,CAAC,CAC5C,CAAC,EAEMuD,EAAgByC,CAAM,CAC/B,ECfO,IAAMC,GAAQ,CACnB,QACA,SACA,SACA,aACA,UACA,UACA,MACA,QACA,MACA,SACA,SACA,QACA,QACA,UACA,SACA,SACA,QACA,QACA,QACA,KACA,KACA,OACA,MACF,EAEaC,GAAQ,CACnB,UACA,UACA,OACA,WACA,QACA,QACA,SACA,UACA,SACA,UACF,EAEaC,GAAa,CACxB,YACA,YACA,UACA,OACA,WACA,UACA,WACA,QACA,QACA,SACA,UACA,SACA,UACF,EAEaC,GAAU,CACrB,aACA,SACA,iBACA,aACA,WACA,aACA,YACA,eACA,gBACA,cACA,aACA,aACA,eACA,iBACF,EAEaC,GAAa,CACxB,gDACA,gCACA,iCACA,uCACA,+BACA,qCACA,6BACF,EAqEO,IAAMC,EAA0B,CACrC,YACA,OACA,aACA,QACA,QACA,SACA,QACA,OACA,aACA,QACA,YACA,YACA,aACA,YACA,QACA,gBACA,WACA,OACA,OACA,QACA,SACA,SACA,WACF,EAEaC,EAAQ,CACnB,GAAGN,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,EACL,EClLO,IAAMG,EAAa,IACjBjD,EAAgBgD,CAAK,ECAvB,IAAME,EAAkB,IACtBtJ,EAAWH,EAAM,EAAG,IAAMwJ,EAAW,CAAC,EAAE,KAAK,GAAG,CAAC,EAAI,ICD9D,IAAME,GAAiB,CAAC,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAM,EAGrDC,GAAa,CAAC,CACzB,KAAAC,EACA,UAAAC,CACF,EAGI,CAAC,IAAwB,CAC3B,GAAI,OAAO,MAAS,YAAa,OAEjC,IAAMC,EAAaD,GAAatD,EAAgBmD,EAAc,EAC9D,OAAO,IAAI,KACT,CAACD,EAAgB,CAAC,EAClB,GAAGG,GAAQJ,EAAW,KAAKM,IAC3B,CACE,KAAM,SAASA,GACjB,CACF,CACF,ECxBO,IAAMC,EAAa,CACxB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GACF,ECbO,IAAMC,GAAiB,IACrB,IAAMhK,EAAM,EAAG,IAAMuG,EAAgBwD,CAAU,CAAC,EAAE,KAAK,EAAE,ECF3D,IAAME,GAAiB,IACrB1D,EAAgBwD,CAAU,ECD5B,IAAMG,EAAsB,IAC1B3D,EAAgB+C,CAAuB,ECJzC,IAAMa,EAAe,CAC1B,2BACA,uBACA,mBACA,yBACA,yBACA,+BACA,wBACA,yBACA,+BACA,2BACA,yBACA,+BACA,uBACA,2BACA,qBACA,qBACA,8BACA,yBACA,wBACF,ECjBO,IAAMC,GAAa,IACjB7D,EAAgB4D,CAAY,ECF9B,IAAME,GAAW,IACf,GAAGtE,EAAU,EAAG,GAAG,EAAE,SAAS,KAAKA,EACxC,EACA,GACF,EAAE,SAAS,KAAKA,EAAU,EAAG,GAAG,EAAE,SAAS,KAAKA,EAC9C,EACA,GACF,EAAE,SAAS,ICCN,IAAMuE,GAAa,IACxB/D,EAAgB,CAAC,GAAGqB,EAAc,GAAGC,CAAU,CAAC,EAErC0C,GAAkB,IAAMhE,EAAgB+B,CAAW,EAEnDkC,GAAiB,IAAMjE,EAAgBgC,CAAU,EAEjDkC,GAAiB,IAC5BlE,EAAgBuB,CAAiB,EAAI,IAAMvB,EAAgBwB,CAAgB,ECLtE,IAAM2C,GAAoB,CAAC,CAAE,OAAAzK,EAAS,CAAE,EAAyB,CAAC,IAAM,CAC7E,GAAIA,EAAS,EACX,MAAM,IAAI,MAAM,mDAAmD,EAErE,OAAOD,EAAMC,EAAQ,CAAC4E,EAAG8F,IAAU5E,EAAW4E,EAAY,EAAJ,EAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAC1E,EClBA,IAAIC,GAAK,EAEIC,EAAkB,IACtBD,KCEF,IAAME,GAAiB,IAC5BZ,EAAoB,EACpB3D,EAAgBoC,CAAkB,EAClC5C,EAAU,GAAI,EAAE,ECCX,IAAMgF,GAAa,IAAM,CAC9B,IAAMH,EAAKC,EAAgB,EAAE,SAAS,EAAE,SAAS,GAAI,GAAG,EAClDG,EAAUJ,EAAG,UAAU,EAAG,EAAE,EAElC,MAAO,uBADQA,EAAG,UAAU,GAAI,EAAE,KACMI,GAC1C","sourcesContent":["export const array = <U extends (...args: any) => any>(\n length: number,\n mapFn: U\n): ReturnType<U>[] => {\n return Array.from({ length }, mapFn);\n};\n","export const capitalize = (string: string) => {\n return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n};\n","export const clamp = ({\n number,\n min,\n max,\n}: {\n number: number;\n min: number;\n max: number;\n}) => {\n if (max < min && process.env.DEVERYTHING_WARNINGS) {\n console.warn(\"clamp: max < min\", { number, min, max });\n }\n\n if (number < min) {\n return min;\n }\n\n if (number > max) {\n return max;\n }\n\n return number;\n};\n","export const cleanSpaces = (str: string): string => {\n return str.trim().replace(/\\s{2,}/g, \" \");\n};\n","export const first = <T>(arr?: T[]): T | undefined => arr?.[0];\n","export const getKeys = (arg: object) => {\n return Object.keys(arg).concat(getEnumerableOwnPropertySymbols(arg));\n};\n\n// Object.keys does not return enumerable symbols\nexport const getEnumerableOwnPropertySymbols = (arg: object): any[] => {\n return Object.getOwnPropertySymbols\n ? Object.getOwnPropertySymbols(arg).filter(function (symbol) {\n return Object.propertyIsEnumerable.call(arg, symbol);\n })\n : [];\n};\n","export const last = <T>(arr?: T[]): T | undefined => arr?.[arr.length - 1];\n","export const isArray = <T>(arg?: any): arg is T[] => Array.isArray(arg);\n","export const isBoolean = (arg: any) =>\n Object.prototype.toString.call(arg) === \"[object Boolean]\";\n","export const isServer = () => typeof window === \"undefined\";\n","import { isServer } from \"./isServer\";\n\nexport const isClient = () => !isServer();\n","import { isClient } from \"./isClient\";\n\nexport const isBrowser = isClient;\n","export const isString = (arg: any) => typeof arg === \"string\";\n","import { isString } from \"./isString\";\n\nexport const isEmail = (arg: string) =>\n isString(arg) && /\\S+@\\S+\\.\\S+/.test(arg);\n","export const isObject = <T>(arg?: any): arg is Record<string, T> =>\n Object.prototype.toString.call(arg) === \"[object Object]\";\n","import { Maybe } from \"../types\";\nimport { isArray } from \"./isArray\";\nimport { isObject } from \"./isObject\";\nimport { isString } from \"./isString\";\n\nexport const isEmpty = (arg?: Maybe<any>) => {\n if (isEmptyObject(arg)) return true;\n if (isEmptyArray(arg)) return true;\n if (isEmptyString(arg)) return true;\n\n return arg === undefined || arg === null;\n};\n\nexport const isEmptyString = (arg: string) => {\n return isString(arg) && arg.trim().length === 0;\n};\n\nexport const isEmptyArray = (arg: any[]) => {\n return isArray(arg) && arg.length === 0;\n};\n\nexport const isEmptyObject = (arg: Object) => {\n return isObject(arg) && Object.keys(arg).length === 0;\n};\n","export const isFunction = (arg: any) =>\n Object.prototype.toString.call(arg) === \"[object Function]\";\n","export const isJsDate = (arg: Date): arg is Date =>\n Object.prototype.toString.call(arg) === \"[object Date]\" &&\n !isNaN(arg as unknown as number);\n","export const isKey = <T extends object>(\n key: string | number | symbol,\n obj: T\n): key is keyof T =>\n obj.hasOwnProperty(key) && // makes sure the prop is not in the prototype chain\n obj.propertyIsEnumerable(key); // makes sure the prop is not a getter/setter\n","export const isInt = (arg: number) => Number.isInteger(arg);\n\nexport const isEven = (arg: number) => isInt(arg) && !(arg % 2);\n\nexport const isOdd = (arg: number) => isInt(arg) && !!(arg % 2);\n\nexport const isPositive = (arg: number) => isInt(arg) && arg > 0;\n\nexport const isNegative = (arg: number) => isInt(arg) && arg < 0;\n\nexport const isNumber = (arg: any): arg is number => {\n return (\n Object.prototype.toString.apply(arg) === \"[object Number]\" && isFinite(arg)\n );\n};\n","export const isNumeric = (num: number | string): boolean => {\n return !isNaN(num as number); // isNaN DOES actually work with string-numbers!\n};\n","export const isPromise = (arg: any) => arg instanceof Promise;\n","import { isClient } from \"./isClient\";\n\nexport const isPWA = () => {\n return isClient() && window.matchMedia(\"(display-mode: standalone)\").matches; // credits to Narcis\n};\n","var canUseSymbol = typeof Symbol === \"function\" && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for(\"react.element\") : 0xeac7;\n\nexport const isReactElement = (value: any) => {\n return value.$$typeof === REACT_ELEMENT_TYPE;\n};\n","export const isRegExp = (arg: any): arg is RegExp =>\n Object.prototype.toString.call(arg) === \"[object RegExp]\";\n","import { isJsDate } from \"./isJsDate\";\n\nexport const isStringDate = (arg: string) => {\n const date = new Date(arg);\n return isJsDate(date);\n};\n","export const isUndefined = (arg: any) => typeof arg === \"undefined\";\n","const pattern = new RegExp(\n \"^(https?:\\\\/\\\\/)?\" + // protocol\n \"((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.?)+[a-z]{2,}|\" + // domain name\n \"((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))\" + // OR ip (v4) address\n \"(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*\" + // port and path\n \"(\\\\?[;&a-z\\\\d%_.~+=-]*)?\" + // query string\n \"(\\\\#[-a-z\\\\d_]*)?$\",\n \"i\"\n); // fragment locator\n\nexport const isURL = (arg: string) => {\n return !!arg && pattern.test(arg);\n};\n","export const isUUID = (arg: string) =>\n /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(\n arg\n );\n","import { Maybe } from \"../types\";\n\nexport const isValue = (arg?: Maybe<any>) => {\n return arg !== undefined && arg !== null && !Number.isNaN(arg);\n};\n","import { PlainObject } from \"../types\";\nimport { isKey, isObject } from \"../validators\";\nimport { getKeys } from \"./getKeys\";\n\n// Simple merge function that merges two objects, arrays get overwritten, no options\nexport const merge = (target: PlainObject, source: PlainObject) => {\n const merger: PlainObject = {};\n getKeys(target).forEach((key) => {\n merger[key] = isObject(target[key]) ? merge({}, target[key]) : target[key];\n });\n getKeys(source).forEach((key) => {\n if (isKey(key, target))\n merger[key] =\n isObject(target[key]) && isObject(source[key])\n ? merge(target[key], source[key])\n : source[key];\n else\n merger[key] = isObject(source[key])\n ? merge({}, source[key])\n : source[key];\n });\n return merger;\n};\n","export const moveToFirst = <T>(\n items: T[],\n condition: (item: T, i: number, items: T[]) => boolean\n): T[] => {\n const resortedItems = [...items];\n for (let i = 0; i < resortedItems.length; i++) {\n if (condition(resortedItems[i], i, resortedItems)) {\n let firstItem = resortedItems.splice(i, 1);\n resortedItems.unshift(firstItem[0]);\n break;\n }\n }\n return resortedItems;\n};\n","export const moveToLast = <T>(\n items: T[],\n condition: (item: T, i: number, items: T[]) => boolean\n): T[] => {\n const resortedItems = [...items];\n for (let i = 0; i < resortedItems.length; i++) {\n if (condition(resortedItems[i], i, resortedItems)) {\n let lastItem = resortedItems.splice(i, 1)[0];\n resortedItems.push(lastItem);\n break;\n }\n }\n return resortedItems;\n};\n","import { DateLike, Maybe } from \"../types\";\nimport { isEmpty } from \"../validators/isEmpty\";\nimport { isJsDate } from \"../validators/isJsDate\";\n\nexport const parseDate = (arg?: Maybe<DateLike>) => {\n if (isEmpty(arg)) return;\n\n const date = new Date(arg!);\n\n if (!isJsDate(date)) return;\n\n return date;\n};\n","export const pretty = (arg: any) => {\n return JSON.stringify(arg, null, 2);\n};\n","export const promiseWithTimeout = <T>(\n promise: () => Promise<T>,\n timeoutMs: number,\n error?: Error\n): Promise<T> => {\n let timeout: ReturnType<typeof setTimeout>;\n const timeoutPromise = new Promise<never>((_, reject) => {\n timeout = setTimeout(\n () => reject(error ?? new Error(\"Promise timed out\")),\n timeoutMs\n );\n });\n\n return Promise.race([promise(), timeoutPromise]).finally(() => {\n clearTimeout(timeout);\n });\n};\n","export const sleep = (timeMs: number): Promise<void> => {\n return new Promise((resolve) => {\n setTimeout(resolve, timeMs);\n });\n};\n","import { isArray } from \"../validators\";\n\nexport const toggleArray = <T>(arg: T[], value: T) => {\n if (isArray<T>(arg)) {\n const copy: T[] = arg.reduce((acc: T[], val) => {\n if (val !== value) acc.push(val);\n return acc;\n }, []);\n if (copy.length === arg.length) copy.push(value);\n return copy;\n }\n\n return arg;\n};\n","import { isPositive } from \"../validators/isNumber\";\n\nexport const truncate = (arg: string, limit: number, ellipsis = \"...\") => {\n if (!isPositive(limit)) return arg;\n\n const argArray = [...arg]; // convert string to array, emoji and unicode safe\n\n if (argArray.length <= limit) return arg;\n\n return argArray.slice(0, limit).join(\"\") + ellipsis;\n};\n","export const UK_ADDRESSES = [\n {\n city: \"London\",\n country: \"United Kingdom\",\n street: \"Baker Street\",\n number: \"221B\",\n zip: \"NW1 6XE\",\n },\n {\n city: \"Birmingham\",\n country: \"United Kingdom\",\n street: \"Bordesley Street\",\n number: \"B1 1AA\",\n zip: \"B1 1AA\",\n },\n];\n\nexport const US_ADDRESSES = [\n {\n city: \"New York\",\n country: \"United States\",\n street: \"Broadway\",\n number: \"42\",\n zip: \"10036\",\n },\n {\n city: \"Los Angeles\",\n country: \"United States\",\n street: \"Hollywood Boulevard\",\n number: \"6801\",\n zip: \"90028\",\n },\n];\n\nexport const EUROPE_ADDRESSES = [\n {\n city: \"Paris\",\n country: \"France\",\n street: \"Rue de Rivoli\",\n number: \"75001\",\n zip: \"75001\",\n },\n {\n city: \"Berlin\",\n country: \"Germany\",\n street: \"Unter den Linden\",\n number: \"10117\",\n zip: \"10117\",\n },\n {\n city: \"Rome\",\n country: \"Italy\",\n street: \"Via del Corso\",\n number: \"00186\",\n zip: \"00186\",\n },\n {\n city: \"Madrid\",\n country: \"Spain\",\n street: \"Gran Vía\",\n number: \"28013\",\n zip: \"28013\",\n },\n];\n\nexport const MIXED_ADDRESSES = [\n {\n city: \"Moscow\",\n country: \"Russia\",\n street: \"Tverskaya\",\n number: \"101000\",\n zip: \"101000\",\n },\n {\n city: \"Tokyo\",\n country: \"Japan\",\n street: \"Shinjuku\",\n number: \"160-0022\",\n zip: \"160-0022\",\n },\n {\n city: \"Beijing\",\n country: \"China\",\n street: \"Changan\",\n number: \"100005\",\n zip: \"100005\",\n },\n {\n city: \"Cairo\",\n country: \"Egypt\",\n street: \"Al-Muizz\",\n number: \"11511\",\n\n zip: \"11511\",\n },\n {\n city: \"Buenos Aires\",\n country: \"Argentina\",\n street: \"Avenida de Mayo\",\n number: \"1002\",\n zip: \"C1006AAQ\",\n },\n {\n city: \"Cape Town\",\n country: \"South Africa\",\n street: \"Adderley\",\n number: \"7700\",\n zip: \"7700\",\n },\n {\n city: \"Sydney\",\n country: \"Australia\",\n street: \"George\",\n number: \"2000\",\n zip: \"2000\",\n },\n {\n city: \"Rio de Janeiro\",\n country: \"Brazil\",\n street: \"Av. Presidente Vargas\",\n number: \"20021-000\",\n zip: \"20021-000\",\n },\n {\n city: \"Mexico City\",\n country: \"Mexico\",\n street: \"Paseo de la Reforma\",\n number: \"06500\",\n zip: \"06500\",\n },\n];\n\nexport const ADDRESSES = [\n ...UK_ADDRESSES,\n ...US_ADDRESSES,\n ...EUROPE_ADDRESSES,\n ...MIXED_ADDRESSES,\n];\n\nexport const CITIES = [\n \"London\",\n \"Birmingham\",\n \"New York\",\n \"Los Angeles\",\n \"Paris\",\n \"Berlin\",\n \"Rome\",\n \"Madrid\",\n \"Moscow\",\n \"Tokyo\",\n \"Beijing\",\n \"Cairo\",\n \"Buenos Aires\",\n \"Cape Town\",\n \"Sydney\",\n \"Rio de Janeiro\",\n \"Mexico City\",\n];\n\nexport const US_STATE_CODE_SAMPLES = [\n \"AL\",\n \"AK\",\n \"AZ\",\n \"AR\",\n \"CA\",\n \"CO\",\n \"CT\",\n \"DE\",\n \"FL\",\n \"GA\",\n \"HI\",\n];\n\nexport const ZIP_SAMPLES = [\n \"10036\",\n \"90028\",\n \"75001\",\n \"10117\",\n \"00186\",\n \"28013\",\n \"101000\",\n];\n","export const randomInt = (start: number = -100, end: number = 100): number =>\n Math.floor(Math.random() * (end - start + 1) + start);\n\nexport const randomPositiveInt = (end: number = 100): number =>\n randomInt(1, end);\n\nexport const randomNegativeInt = (start: number = -100): number =>\n randomInt(start, -1);\n\nexport const randomMaxSafeInt = () =>\n randomInt(-Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n\nexport const randomMaxInt = () =>\n randomInt(-Number.MAX_VALUE, Number.MAX_VALUE);\n\nexport const randomPercentage = () => randomInt(-100, 100);\n","import { randomInt } from \"./randomInt\";\n\nexport const randomArrayItem = <T>(array: T[]): T => {\n return array[randomInt(0, array.length - 1)];\n};\n","import { ADDRESSES } from \"../constants/addresses\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomAddress = () => {\n return randomArrayItem(ADDRESSES);\n};\n","import { array } from \"../helpers/array\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\n//avoid 0s and Os as they get confused with each other\nconst chars = \"123456789ABCDEFGHIJKLMNPQRSTUVWXYZ\".split(\"\");\n\n/**\n * Generates a random alphanumeric code that can be used for verification codes, etc.\n * Does not contain 0s or Os as they get confused with each other.\n * @param length The length of the code to generate.\n * @returns A random alphanumeric code.\n * @example\n * randomAlphaNumericCode(); => \"A2G4G6\"\n */\nexport const randomAlphaNumericCode = ({\n length = 6,\n}: { length?: number } = {}) => {\n if (length < 1)\n throw new Error(\"randomAlphaNumericCode: Length must be greater than 0.\");\n\n return array(length, () => randomArrayItem(chars)).join(\"\");\n};\n","import { randomInt } from \"./randomInt\";\n\nexport const randomBool = () => !!randomInt(0, 1);\n","import { isValue } from \"../validators/isValue\";\n\n// Max js digits is theoretically 17, but is actually 16, see Math.random output.\nexport const JS_MAX_DIGITS = 16;\n\n// TODO: with big numbers there will be less digits\nexport const randomFloat = (\n min: number = -9,\n max: number = 9,\n decimals?: number // toFixed accepts max 100 anyway... even if the docs say 20\n) => {\n const float = Math.random() * (max - min) + min;\n\n if (isValue(decimals)) return parseFloat(float.toFixed(decimals));\n\n return float;\n};\n\n// TODO: randomBigFloat\n","import { Coords } from \"../types\";\nimport { randomFloat } from \"./randomFloat\";\n\nexport const randomCoords = (): Coords => {\n return {\n lat: randomLat(),\n lng: randomLng(),\n };\n};\n\nexport const randomLat = () => {\n return randomFloat(-90, 90);\n};\n\nexport const randomLng = () => {\n return randomFloat(-180, 180);\n};\n","import {\n MILLISECONDS_IN_DECADE,\n MAX_DATE_MILLISECONDS,\n MILLISECONDS_IN_MINUTE,\n} from \"../constants/time\";\n\nexport const randomDate = (start?: Date, end?: Date) => {\n const startDate = start || new Date(-MILLISECONDS_IN_DECADE);\n const endDate = end || new Date(MILLISECONDS_IN_DECADE);\n return new Date(\n startDate.getTime() +\n Math.random() * (endDate.getTime() - startDate.getTime())\n );\n};\n\nexport const randomMaxDate = (start?: Date, end?: Date) => {\n const startDate = start || new Date(-MAX_DATE_MILLISECONDS);\n const endDate = end || new Date(MAX_DATE_MILLISECONDS);\n return randomDate(startDate, endDate);\n};\n\nexport const randomFutureDate = () => {\n // Add a safe margin in the future (i.e. lagging tests). About 5 minutes is enough.\n const safeNow = new Date(new Date().getTime() + 5 * MILLISECONDS_IN_MINUTE);\n return randomDate(safeNow);\n};\n\nexport const randomPastDate = () => {\n return randomDate(undefined, new Date());\n};\n\nexport const randomDateRange = () => {\n const startDate = randomDate();\n const endDate = randomDate(startDate);\n\n return {\n endDate,\n startDate,\n };\n};\n","export const DOMAIN_NAMES = [\n \"gmail.com\",\n \"yahoo.com\",\n \"hotmail.com\",\n \"aol.com\",\n \"msn.com\",\n \"comcast.net\",\n \"live.com\",\n \"sbcglobal.net\",\n \"verizon.net\",\n \"att.net\",\n \"mac.com\",\n \"me.com\",\n \"earthlink.net\",\n \"charter.net\",\n \"shaw.ca\",\n \"yahoo.ca\",\n \"googlemail.com\",\n \"mail.com\",\n \"qq.com\",\n \"web.de\",\n \"gmx.de\",\n \"mail.ru\",\n];\n","export const ANIMAL_NAMES = [\n \"Aardvark\",\n \"Albatross\",\n \"Alligator\",\n \"Alpaca\",\n \"Ant\",\n \"Anteater\",\n \"Antelope\",\n \"Ape\",\n];\n\nexport const TOOL_NAMES = [\n \"Axe\",\n \"Ball Peen Hammer\",\n \"Band Saw\",\n \"Bench Grinder\",\n \"Biscuit Joiner\",\n \"Bolt Cutter\",\n \"Boring Machine\",\n \"Bow Saw\",\n];\n\nexport const LATIN_FIRST_NAMES = [\n \"Adam\",\n \"Adrian\",\n \"Alan\",\n \"Albert\",\n \"Alexander\",\n \"Alice\",\n \"Amanda\",\n \"Emma\",\n \"Amelia\",\n \"Amy\",\n \"Andrew\",\n \"Esther\",\n \"Olivia\",\n \"Ruby\",\n];\n\nexport const LATIN_LAST_NAMES = [\n \"Smith\",\n \"Johnson\",\n \"Williams\",\n \"Jones\",\n \"Brown\",\n \"Davis\",\n \"Miller\",\n \"Wilson\",\n \"Moore\",\n \"Taylor\",\n \"Anderson\",\n \"Thomas\",\n \"Jackson\",\n \"White\",\n];\n\nexport const CYRILLIC_FIRST_NAMES = [\n \"Абигаил\",\n \"Адам\",\n \"Адриан\",\n \"Агнес\",\n \"Алан\",\n \"Альберт\",\n \"Александр\",\n \"Алиса\",\n \"Аманда\",\n \"Амелия\",\n \"Эми\",\n \"Эндрю\",\n];\n\nexport const CYRILLIC_LAST_NAMES = [\n \"Смит\",\n \"Джонсон\",\n \"Уильямс\",\n \"Джонс\",\n \"Браун\",\n \"Дэвис\",\n \"Миллер\",\n \"Вилсон\",\n \"Мур\",\n \"Тейлор\",\n \"Андерсон\",\n \"Томас\",\n \"Джексон\",\n \"Уайт\",\n];\n\nexport const JAPANESE_FIRST_NAMES = [\n \"アビゲイル\",\n \"アダム\",\n \"アドリアン\",\n \"アグネス\",\n \"アラン\",\n \"アルバート\",\n \"アレクサンダー\",\n \"アリス\",\n \"アマンダ\",\n \"アメリア\",\n \"アミー\",\n \"アンドリュー\",\n];\n\nexport const JAPANESE_LAST_NAMES = [\n \"スミス\",\n \"ジョンソン\",\n \"ウィリアムズ\",\n \"ジョーンズ\",\n \"ブラウン\",\n \"デイビス\",\n \"ミラー\",\n \"ウィルソン\",\n \"モア\",\n \"タイラー\",\n \"アンダーソン\",\n \"トーマス\",\n \"ジャクソン\",\n \"ホワイト\",\n];\n\nexport const ARABIC_FIRST_NAMES = [\n \"أبيجيل\",\n \"آدم\",\n \"آدريان\",\n \"أغنيس\",\n \"آلان\",\n \"آلبرت\",\n \"ألكسندر\",\n \"آليس\",\n \"آماندا\",\n \"آميليا\",\n \"آمي\",\n \"أندرو\",\n];\n\nexport const ARABIC_LAST_NAMES = [\n \"سميث\",\n \"جونسون\",\n \"ويليامز\",\n \"جونز\",\n \"براون\",\n \"ديفيس\",\n \"ميلر\",\n \"ويلسون\",\n \"مور\",\n \"تايلور\",\n \"أندرسون\",\n \"توماس\",\n \"جاكسون\",\n \"وايت\",\n];\n\nexport const FIRST_NAMES = [\n ...LATIN_FIRST_NAMES,\n ...CYRILLIC_FIRST_NAMES,\n ...JAPANESE_FIRST_NAMES,\n ...ARABIC_FIRST_NAMES,\n];\n\nexport const LAST_NAMES = [\n ...LATIN_LAST_NAMES,\n ...CYRILLIC_LAST_NAMES,\n ...JAPANESE_LAST_NAMES,\n ...ARABIC_LAST_NAMES,\n];\n","import { LATIN_FIRST_NAMES, LATIN_LAST_NAMES } from \"../constants/names\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomInt } from \"./randomInt\";\n\nexport const randomHandle = () =>\n (\n randomArrayItem(LATIN_FIRST_NAMES) +\n \".\" +\n randomArrayItem(LATIN_LAST_NAMES)\n ).toLowerCase() + randomInt(11, 99);\n","import { DOMAIN_NAMES } from \"../constants/domains\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomHandle } from \"./randomHandle\";\n\n//Use randomId() to generate a unique email\nexport const randomEmail = () =>\n `${randomHandle()}@${randomArrayItem(DOMAIN_NAMES)}`;\n","export const EMOJI_SAMPLE = [\n \"😀\",\n \"😁\",\n \"😂\",\n \"🤣\",\n \"😃\",\n \"😄\",\n \"😅\",\n \"😆\",\n \"😉\",\n \"😊\",\n \"😋\",\n \"😎\",\n \"😍\",\n \"😘\",\n \"😗\",\n \"😙\",\n];\n\nexport const SPECIAL_CHARACTERS = [\"!\", \"@\", \"#\", \"$\", \"%\", \"^\", \"&\", \"*\"];\n","import { EMOJI_SAMPLE } from \"../constants/unicode\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEmoji = () => {\n return randomArrayItem(EMOJI_SAMPLE);\n};\n","import { isNumeric } from \"../validators/isNumeric\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEnumKey = <T extends object>(enumObject: T): keyof T => {\n return randomArrayItem(\n Object.keys(enumObject).filter((key) => !isNumeric(key)) // key cannot be a number\n ) as keyof T;\n};\n","import { isKey } from \"../validators/isKey\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEnumValue = <T extends object>(\n enumObject: T\n): T[keyof T] => {\n let values: T[keyof T][] = [];\n\n Object.values(enumObject).forEach((value) => {\n // types are tricky here because the value is used also to check if exists as a key\n if (isKey(value, enumObject) && !values.includes(value as T[keyof T]))\n values.push(enumObject[value as keyof T]);\n });\n\n return randomArrayItem(values);\n};\n","export const VERBS = [\n \"abide\",\n \"abound\",\n \"accept\",\n \"accomplish\",\n \"achieve\",\n \"acquire\",\n \"act\",\n \"adapt\",\n \"add\",\n \"adjust\",\n \"admire\",\n \"admit\",\n \"adopt\",\n \"advance\",\n \"advise\",\n \"afford\",\n \"agree\",\n \"alert\",\n \"allow\",\n \"be\",\n \"go\",\n \"need\",\n \"work\",\n];\n\nexport const NOUNS = [\n \"abandon\",\n \"ability\",\n \"able\",\n \"abortion\",\n \"about\",\n \"above\",\n \"abroad\",\n \"absence\",\n \"absent\",\n \"absolute\",\n];\n\nexport const ADJECTIVES = [\n \"abandoned\",\n \"abdominal\",\n \"ability\",\n \"able\",\n \"abnormal\",\n \"abolish\",\n \"abortion\",\n \"about\",\n \"above\",\n \"abroad\",\n \"absence\",\n \"absent\",\n \"absolute\",\n];\n\nexport const ADVERBS = [\n \"abnormally\",\n \"aboard\",\n \"absentmindedly\",\n \"absolutely\",\n \"absurdly\",\n \"abundantly\",\n \"abysmally\",\n \"academically\",\n \"acceleratedly\",\n \"accentually\",\n \"acceptably\",\n \"accessibly\",\n \"accidentally\",\n \"accommodatingly\",\n];\n\nexport const LONG_WORDS = [\n \"Pneumonoultramicroscopicsilicovolcanoconiosis\",\n \"Floccinaucinihilipilification\",\n \"Pseudopseudohypoparathyroidism\",\n \"Hippopotomonstrosesquippedaliophobia\",\n \"Antidisestablishmentarianism\",\n \"Supercalifragilisticexpialidocious\",\n \"Honorificabilitudinitatibus\",\n];\n\nexport const JS_RESERVED_WORDS = [\n \"abstract\",\n \"arguments\",\n \"await\",\n \"boolean\",\n \"break\",\n \"byte\",\n \"case\",\n \"catch\",\n \"char\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"double\",\n \"else\",\n \"enum*\",\n \"eval\",\n \"export\",\n \"extends\",\n \"false\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"function\",\n \"goto\",\n \"if\",\n \"implements\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"int\",\n \"interface\",\n \"let\",\n \"long\",\n \"native\",\n \"new\",\n \"null\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"return\",\n \"short\",\n \"static\",\n \"super\",\n \"switch\",\n \"synchronized\",\n \"this\",\n \"throw\",\n \"throws\",\n \"transient\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"volatile\",\n \"while\",\n \"with\",\n \"yield\",\n];\n\nexport const HTML_COLOR_NAME_SAMPLES = [\n \"AliceBlue\",\n \"Aqua\",\n \"Aquamarine\",\n \"Azure\",\n \"Beige\",\n \"Bisque\",\n \"Black\",\n \"Blue\",\n \"BlueViolet\",\n \"Brown\",\n \"BurlyWood\",\n \"CadetBlue\",\n \"Chartreuse\",\n \"Chocolate\",\n \"Coral\",\n \"DarkSlateGray\",\n \"DeepPink\",\n \"Gold\",\n \"Lime\",\n \"Olive\",\n \"Orchid\",\n \"Salmon\",\n \"Turquoise\",\n];\n\nexport const WORDS = [\n ...VERBS,\n ...NOUNS,\n ...ADJECTIVES,\n ...ADVERBS,\n ...LONG_WORDS,\n];\n","import { WORDS } from \"../constants/words\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomWord = () => {\n return randomArrayItem(WORDS);\n};\n","import { array } from \"../helpers\";\nimport { capitalize } from \"../helpers/capitalize\";\nimport { randomWord } from \"./randomWord\";\n\nexport const randomParagraph = () => {\n return capitalize(array(8, () => randomWord()).join(\" \")) + \".\";\n};\n","import { randomArrayItem } from \"./randomArrayItem\";\nimport { randomParagraph } from \"./randomParagraph\";\nimport { randomWord } from \"./randomWord\";\n\nconst fileExtensions = [\"png\", \"jpg\", \"jpeg\", \"gif\", \"svg\", \"webp\"];\n\n// This is a client only function\nexport const randomFile = ({\n name,\n extension,\n}: {\n name?: string;\n extension?: string;\n} = {}): File | undefined => {\n if (typeof File === \"undefined\") return undefined;\n\n const _extension = extension || randomArrayItem(fileExtensions);\n return new File(\n [randomParagraph()], // TODO: Use random char string\n `${name || randomWord()}.${_extension}`,\n {\n type: `image/${_extension}`,\n }\n );\n};\n","export const HEX_VALUES = [\n \"0\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n];\n","import { HEX_VALUES } from \"../constants/hex\";\nimport { array } from \"../helpers\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHexColor = () => {\n return \"#\" + array(6, () => randomArrayItem(HEX_VALUES)).join(\"\");\n};\n","import { HEX_VALUES } from \"../constants/hex\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHexValue = () => {\n return randomArrayItem(HEX_VALUES);\n};\n","import { HTML_COLOR_NAME_SAMPLES } from \"../constants/words\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHtmlColorName = () => {\n return randomArrayItem(HTML_COLOR_NAME_SAMPLES);\n};\n","export const IBAN_SAMPLES = [\n \"AD1200012030200359100100\",\n \"BA391290079401028494\",\n \"BE68539007547034\",\n \"BG80BNBG96611020345678\",\n \"BH67BMAG00001299123456\",\n \"BY13NBRB3600900000002Z00AB00\",\n \"CH9300762011623852957\",\n \"CR05015202001026284066\",\n \"CY17002001280000001200527600\",\n \"CZ6508000000192000145399\",\n \"DE89370400440532013000\",\n \"DO28BAGR00000001212453611324\",\n \"EE382200221020145685\",\n \"ES9121000418450200051332\",\n \"FI2112345600000785\",\n \"FO6264600001631634\",\n \"FR1420041010050500013M02606\",\n \"GB29NWBK60161331926819\",\n \"GE29NB0000000101904917\",\n];\n\nexport const BIC_SWIFT_SAMPLES = [\n \"ABNANL2A\",\n \"BKENGB2LXXX\",\n \"BUKBGB22\",\n \"CITIUS33\",\n \"CITIUS33XXX\",\n \"CSCHUS6SXXX\",\n \"NOSCCATTXXX\",\n];\n\nexport const CARD_NUMBER_SAMPLES = [\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n];\n\n//An ABA routing number is a nine-digit code that identifies banks in the U.S.\nexport const ABA_NUMBER_SAMPLES = [\n \"111000025\",\n \"081000210\",\n \"104000029\",\n \"091300023\",\n \"123000220\",\n];\n\nexport const ROUTING_NUMBER_SAMPLES = [\n \"637530215\",\n \"130436324\",\n \"611531133\",\n \"865673685\",\n];\n\nexport const BANK_ACCOUNT_NUMBER_SAMPLES = [\n \"64766774\",\n \"39526009\",\n \"25048213\",\n \"72796383\",\n];\n\nexport const VAT_REGISTRATION_NUMBER_SAMPLES = [\n \"IE1234567T\",\n \"GB123456789\",\n \"XI123456789\",\n];\n\nexport const SORT_CODE_SAMPLES = [\"100000\", \"902127\", \"800551\"];\n\nexport const SSN_SAMPLES = [\"235-55-7216\", \"372-37-3976\", \"414-99-6488\"];\n\nexport const BANK_NAME_SAMPLES = [\n \"Bank of England\",\n \"Bank of Ireland\",\n \"Bank of Scotland\",\n \"Bank of America\",\n];\n\nexport const COMPANY_NAME_SAMPLES = [\n \"Acme Inc.\",\n \"Acme Corp.\",\n \"Acme Ltd.\",\n \"Acme LLC\",\n \"Umbrella Corp.\",\n \"Umbrella Inc.\",\n \"Umbrella Ltd.\",\n \"Umbrella LLC\",\n];\n","import { IBAN_SAMPLES } from \"../constants/banking\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomIBAN = () => {\n return randomArrayItem(IBAN_SAMPLES);\n};\n","import { randomInt } from \"./randomInt\";\n\nexport const randomIP = () => {\n return `${randomInt(0, 255).toString()}.${randomInt(\n 0,\n 255\n ).toString()}.${randomInt(0, 255).toString()}.${randomInt(\n 0,\n 255\n ).toString()}`;\n};\n","import {\n ANIMAL_NAMES,\n FIRST_NAMES,\n LAST_NAMES,\n LATIN_FIRST_NAMES,\n LATIN_LAST_NAMES,\n TOOL_NAMES,\n} from \"../constants/names\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomName = () =>\n randomArrayItem([...ANIMAL_NAMES, ...TOOL_NAMES]);\n\nexport const randomFirstName = () => randomArrayItem(FIRST_NAMES);\n\nexport const randomLastName = () => randomArrayItem(LAST_NAMES);\n\nexport const randomFullName = () =>\n randomArrayItem(LATIN_FIRST_NAMES) + \" \" + randomArrayItem(LATIN_LAST_NAMES);\n","import { array } from \"../helpers/array\";\nimport { randomInt } from \"./randomInt\";\n\n/**\n * Generates a random numeric code that can be used for verification codes, etc.\n * Does not start with 0.\n * @param length The length of the code to generate.\n * @returns A random numeric code.\n * @example\n * randomNumericCode(); => \"123456\"\n * @example\n * randomNumericCode({ length: 4 }); => \"1234\"\n */\nexport const randomNumericCode = ({ length = 6 }: { length?: number } = {}) => {\n if (length < 1)\n throw new Error(\"randomNumericCode: Length must be greater than 0.\");\n\n return array(length, (_, index) => randomInt(!index ? 1 : 0, 9)).join(\"\");\n};\n","let id = 1; // don't start with 0, to be closer to SQL autoincrement\n\nexport const randomNumericId = () => {\n return id++;\n};\n","import { SPECIAL_CHARACTERS } from \"../constants/unicode\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomHtmlColorName } from \"./randomHtmlColorName\";\nimport { randomInt } from \"./randomInt\";\n\nexport const randomPassword = () =>\n randomHtmlColorName() + // So it has an upper case\n randomArrayItem(SPECIAL_CHARACTERS) + // So it has a special character\n randomInt(11, 99); // So it has a number\n","import { randomNumericId } from \"./randomNumericId\";\n\n/**\n * This is a light-weight version of the `generateUuid` function\n * To be used only for test purposed and NOT for production\n * Leave 0s, so it gets immediately recognized as a fake uuid\n *\n * /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i\n */\nexport const randomUUID = () => {\n const id = randomNumericId().toString().padStart(15, \"0\");\n const digit12 = id.substring(0, 12);\n const digit3 = id.substring(12, 15);\n return `00000000-0000-1000-8${digit3}-${digit12}`;\n};\n"]}
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- var s=(t,e)=>Array.from({length:t},e);var I=t=>t.charAt(0).toUpperCase()+t.slice(1);var It=({number:t,min:e,max:o})=>(o<e&&process.env.DEVERYTHING_WARNINGS&&console.warn("clamp: max < min",{number:t,min:e,max:o}),t<e?e:t>o?o:t);var Mt=t=>t.trim().replace(/\s{2,}/g," ");var Lt=t=>t==null?void 0:t[0];var E=t=>Object.keys(t).concat(V(t)),V=t=>Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[];var ht=t=>t==null?void 0:t[t.length-1];var u=t=>Array.isArray(t);var Ot=t=>Object.prototype.toString.call(t)==="[object Boolean]";var _=()=>typeof window=="undefined";var d=()=>!_();var Ft=d;var A=t=>typeof t=="string";var Ht=t=>A(t)&&/\S+@\S+\.\S+/.test(t);var m=t=>Object.prototype.toString.call(t)==="[object Object]";var M=t=>K(t)||W(t)||J(t)?!0:t==null,J=t=>A(t)&&t.trim().length===0,W=t=>u(t)&&t.length===0,K=t=>m(t)&&Object.keys(t).length===0;var Yt=t=>Object.prototype.toString.call(t)==="[object Function]";var S=t=>Object.prototype.toString.call(t)==="[object Date]"&&!isNaN(t);var y=(t,e)=>e.hasOwnProperty(t)&&e.propertyIsEnumerable(t);var b=t=>Number.isInteger(t),te=t=>b(t)&&!(t%2),ee=t=>b(t)&&!!(t%2),g=t=>b(t)&&t>0,oe=t=>b(t)&&t<0,re=t=>Object.prototype.toString.apply(t)==="[object Number]"&&isFinite(t);var L=t=>!isNaN(t);var ae=t=>t instanceof Promise;var ce=()=>d()&&window.matchMedia("(display-mode: standalone)").matches;var $=typeof Symbol=="function"&&Symbol.for,Y=$?Symbol.for("react.element"):60103,le=t=>t.$$typeof===Y;var de=t=>Object.prototype.toString.call(t)==="[object RegExp]";var ye=t=>{let e=new Date(t);return S(e)};var fe=t=>typeof t=="undefined";var q=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.?)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i"),Ee=t=>!!t&&q.test(t);var Ne=t=>/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t);var B=t=>t!=null&&!Number.isNaN(t);var T=(t,e)=>{let o={};return E(t).forEach(r=>{o[r]=m(t[r])?T({},t[r]):t[r];}),E(e).forEach(r=>{y(r,t)?o[r]=m(t[r])&&m(e[r])?T(t[r],e[r]):e[r]:o[r]=m(e[r])?T({},e[r]):e[r];}),o};var Be=(t,e)=>{let o=[...t];for(let r=0;r<o.length;r++)if(e(o[r],r,o)){let a=o.splice(r,1);o.unshift(a[0]);break}return o};var he=(t,e)=>{let o=[...t];for(let r=0;r<o.length;r++)if(e(o[r],r,o)){let a=o.splice(r,1)[0];o.push(a);break}return o};var Pe=t=>{if(M(t))return;let e=new Date(t);if(S(e))return e};var je=t=>JSON.stringify(t,null,2);var ve=(t,e,o)=>{let r,a=new Promise((Et,k)=>{r=setTimeout(()=>k(o!=null?o:new Error("Promise timed out")),e);});return Promise.race([t(),a]).finally(()=>{clearTimeout(r);})};var ze=t=>new Promise(e=>{setTimeout(e,t);});var He=(t,e)=>{if(u(t)){let o=t.reduce((r,a)=>(a!==e&&r.push(a),r),[]);return o.length===t.length&&o.push(e),o}return t};var Je=(t,e,o="...")=>{if(!g(e))return t;let r=[...t];return r.length<=e?t:r.slice(0,e).join("")+o};var Z=[{city:"London",country:"United Kingdom",street:"Baker Street",number:"221B",zip:"NW1 6XE"},{city:"Birmingham",country:"United Kingdom",street:"Bordesley Street",number:"B1 1AA",zip:"B1 1AA"}],Q=[{city:"New York",country:"United States",street:"Broadway",number:"42",zip:"10036"},{city:"Los Angeles",country:"United States",street:"Hollywood Boulevard",number:"6801",zip:"90028"}],tt=[{city:"Paris",country:"France",street:"Rue de Rivoli",number:"75001",zip:"75001"},{city:"Berlin",country:"Germany",street:"Unter den Linden",number:"10117",zip:"10117"},{city:"Rome",country:"Italy",street:"Via del Corso",number:"00186",zip:"00186"},{city:"Madrid",country:"Spain",street:"Gran V\xEDa",number:"28013",zip:"28013"}],et=[{city:"Moscow",country:"Russia",street:"Tverskaya",number:"101000",zip:"101000"},{city:"Tokyo",country:"Japan",street:"Shinjuku",number:"160-0022",zip:"160-0022"},{city:"Beijing",country:"China",street:"Changan",number:"100005",zip:"100005"},{city:"Cairo",country:"Egypt",street:"Al-Muizz",number:"11511",zip:"11511"},{city:"Buenos Aires",country:"Argentina",street:"Avenida de Mayo",number:"1002",zip:"C1006AAQ"},{city:"Cape Town",country:"South Africa",street:"Adderley",number:"7700",zip:"7700"},{city:"Sydney",country:"Australia",street:"George",number:"2000",zip:"2000"},{city:"Rio de Janeiro",country:"Brazil",street:"Av. Presidente Vargas",number:"20021-000",zip:"20021-000"},{city:"Mexico City",country:"Mexico",street:"Paseo de la Reforma",number:"06500",zip:"06500"}],D=[...Z,...Q,...tt,...et];var i=(t=-100,e=100)=>Math.floor(Math.random()*(e-t+1)+t),$e=(t=100)=>i(1,t),Ye=(t=-100)=>i(t,-1),qe=()=>i(-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),Ze=()=>i(-Number.MAX_VALUE,Number.MAX_VALUE),Qe=()=>i(-100,100);var n=t=>t[i(0,t.length-1)];var io=()=>n(D);var ot="123456789ABCDEFGHIJKLMNPQRSTUVWXYZ".split(""),co=({length:t=6}={})=>{if(t<1)throw new Error("randomAlphaNumericCode: Length must be greater than 0.");return s(t,()=>n(ot)).join("")};var uo=()=>!!i(0,1);var yo=16,N=(t=-9,e=9,o)=>{let r=Math.random()*(e-t)+t;return B(o)?parseFloat(r.toFixed(o)):r};var xo=()=>({lat:rt(),lng:nt()}),rt=()=>N(-90,90),nt=()=>N(-180,180);var c=(t,e)=>{let o=t||new Date(-31536e7),r=e||new Date(31536e7);return new Date(o.getTime()+Math.random()*(r.getTime()-o.getTime()))},No=(t,e)=>{let o=t||new Date(-864e13),r=e||new Date(864e13);return c(o,r)},Io=()=>{let t=new Date(new Date().getTime()+5*6e4);return c(t)},_o=()=>c(void 0,new Date),Mo=()=>{let t=c();return {endDate:c(t),startDate:t}};var h=["gmail.com","yahoo.com","hotmail.com","aol.com","msn.com","comcast.net","live.com","sbcglobal.net","verizon.net","att.net","mac.com","me.com","earthlink.net","charter.net","shaw.ca","yahoo.ca","googlemail.com","mail.com","qq.com","web.de","gmx.de","mail.ru"];var C=["Aardvark","Albatross","Alligator","Alpaca","Ant","Anteater","Antelope","Ape"],R=["Axe","Ball Peen Hammer","Band Saw","Bench Grinder","Biscuit Joiner","Bolt Cutter","Boring Machine","Bow Saw"],p=["Adam","Adrian","Alan","Albert","Alexander","Alice","Amanda","Emma","Amelia","Amy","Andrew","Esther","Olivia","Ruby"],l=["Smith","Johnson","Williams","Jones","Brown","Davis","Miller","Wilson","Moore","Taylor","Anderson","Thomas","Jackson","White"],st=["\u0410\u0431\u0438\u0433\u0430\u0438\u043B","\u0410\u0434\u0430\u043C","\u0410\u0434\u0440\u0438\u0430\u043D","\u0410\u0433\u043D\u0435\u0441","\u0410\u043B\u0430\u043D","\u0410\u043B\u044C\u0431\u0435\u0440\u0442","\u0410\u043B\u0435\u043A\u0441\u0430\u043D\u0434\u0440","\u0410\u043B\u0438\u0441\u0430","\u0410\u043C\u0430\u043D\u0434\u0430","\u0410\u043C\u0435\u043B\u0438\u044F","\u042D\u043C\u0438","\u042D\u043D\u0434\u0440\u044E"],mt=["\u0421\u043C\u0438\u0442","\u0414\u0436\u043E\u043D\u0441\u043E\u043D","\u0423\u0438\u043B\u044C\u044F\u043C\u0441","\u0414\u0436\u043E\u043D\u0441","\u0411\u0440\u0430\u0443\u043D","\u0414\u044D\u0432\u0438\u0441","\u041C\u0438\u043B\u043B\u0435\u0440","\u0412\u0438\u043B\u0441\u043E\u043D","\u041C\u0443\u0440","\u0422\u0435\u0439\u043B\u043E\u0440","\u0410\u043D\u0434\u0435\u0440\u0441\u043E\u043D","\u0422\u043E\u043C\u0430\u0441","\u0414\u0436\u0435\u043A\u0441\u043E\u043D","\u0423\u0430\u0439\u0442"],ct=["\u30A2\u30D3\u30B2\u30A4\u30EB","\u30A2\u30C0\u30E0","\u30A2\u30C9\u30EA\u30A2\u30F3","\u30A2\u30B0\u30CD\u30B9","\u30A2\u30E9\u30F3","\u30A2\u30EB\u30D0\u30FC\u30C8","\u30A2\u30EC\u30AF\u30B5\u30F3\u30C0\u30FC","\u30A2\u30EA\u30B9","\u30A2\u30DE\u30F3\u30C0","\u30A2\u30E1\u30EA\u30A2","\u30A2\u30DF\u30FC","\u30A2\u30F3\u30C9\u30EA\u30E5\u30FC"],pt=["\u30B9\u30DF\u30B9","\u30B8\u30E7\u30F3\u30BD\u30F3","\u30A6\u30A3\u30EA\u30A2\u30E0\u30BA","\u30B8\u30E7\u30FC\u30F3\u30BA","\u30D6\u30E9\u30A6\u30F3","\u30C7\u30A4\u30D3\u30B9","\u30DF\u30E9\u30FC","\u30A6\u30A3\u30EB\u30BD\u30F3","\u30E2\u30A2","\u30BF\u30A4\u30E9\u30FC","\u30A2\u30F3\u30C0\u30FC\u30BD\u30F3","\u30C8\u30FC\u30DE\u30B9","\u30B8\u30E3\u30AF\u30BD\u30F3","\u30DB\u30EF\u30A4\u30C8"],lt=["\u0623\u0628\u064A\u062C\u064A\u0644","\u0622\u062F\u0645","\u0622\u062F\u0631\u064A\u0627\u0646","\u0623\u063A\u0646\u064A\u0633","\u0622\u0644\u0627\u0646","\u0622\u0644\u0628\u0631\u062A","\u0623\u0644\u0643\u0633\u0646\u062F\u0631","\u0622\u0644\u064A\u0633","\u0622\u0645\u0627\u0646\u062F\u0627","\u0622\u0645\u064A\u0644\u064A\u0627","\u0622\u0645\u064A","\u0623\u0646\u062F\u0631\u0648"],ut=["\u0633\u0645\u064A\u062B","\u062C\u0648\u0646\u0633\u0648\u0646","\u0648\u064A\u0644\u064A\u0627\u0645\u0632","\u062C\u0648\u0646\u0632","\u0628\u0631\u0627\u0648\u0646","\u062F\u064A\u0641\u064A\u0633","\u0645\u064A\u0644\u0631","\u0648\u064A\u0644\u0633\u0648\u0646","\u0645\u0648\u0631","\u062A\u0627\u064A\u0644\u0648\u0631","\u0623\u0646\u062F\u0631\u0633\u0648\u0646","\u062A\u0648\u0645\u0627\u0633","\u062C\u0627\u0643\u0633\u0648\u0646","\u0648\u0627\u064A\u062A"],O=[...p,...st,...ct,...lt],P=[...l,...mt,...pt,...ut];var w=()=>(n(p)+"."+n(l)).toLowerCase()+i(11,99);var jo=()=>`${w()}@${n(h)}`;var j=["\u{1F600}","\u{1F601}","\u{1F602}","\u{1F923}","\u{1F603}","\u{1F604}","\u{1F605}","\u{1F606}","\u{1F609}","\u{1F60A}","\u{1F60B}","\u{1F60E}","\u{1F60D}","\u{1F618}","\u{1F617}","\u{1F619}"],U=["!","@","#","$","%","^","&","*"];var Go=()=>n(j);var Vo=t=>n(Object.keys(t).filter(e=>!L(e)));var $o=t=>{let e=[];return Object.values(t).forEach(o=>{y(o,t)&&!e.includes(o)&&e.push(t[o]);}),n(e)};var dt=["abide","abound","accept","accomplish","achieve","acquire","act","adapt","add","adjust","admire","admit","adopt","advance","advise","afford","agree","alert","allow","be","go","need","work"],At=["abandon","ability","able","abortion","about","above","abroad","absence","absent","absolute"],St=["abandoned","abdominal","ability","able","abnormal","abolish","abortion","about","above","abroad","absence","absent","absolute"],yt=["abnormally","aboard","absentmindedly","absolutely","absurdly","abundantly","abysmally","academically","acceleratedly","accentually","acceptably","accessibly","accidentally","accommodatingly"],bt=["Pneumonoultramicroscopicsilicovolcanoconiosis","Floccinaucinihilipilification","Pseudopseudohypoparathyroidism","Hippopotomonstrosesquippedaliophobia","Antidisestablishmentarianism","Supercalifragilisticexpialidocious","Honorificabilitudinitatibus"];var v=["AliceBlue","Aqua","Aquamarine","Azure","Beige","Bisque","Black","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","DarkSlateGray","DeepPink","Gold","Lime","Olive","Orchid","Salmon","Turquoise"],F=[...dt,...At,...St,...yt,...bt];var f=()=>n(F);var z=()=>I(s(8,()=>f()).join(" "))+".";var ft=["png","jpg","jpeg","gif","svg","webp"],mr=({name:t,extension:e}={})=>{if(typeof File=="undefined")return;let o=e||n(ft);return new File([z()],`${t||f()}.${o}`,{type:`image/${o}`})};var x=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];var Ar=()=>"#"+s(6,()=>n(x)).join("");var fr=()=>n(x);var G=()=>n(v);var X=["AD1200012030200359100100","BA391290079401028494","BE68539007547034","BG80BNBG96611020345678","BH67BMAG00001299123456","BY13NBRB3600900000002Z00AB00","CH9300762011623852957","CR05015202001026284066","CY17002001280000001200527600","CZ6508000000192000145399","DE89370400440532013000","DO28BAGR00000001212453611324","EE382200221020145685","ES9121000418450200051332","FI2112345600000785","FO6264600001631634","FR1420041010050500013M02606","GB29NWBK60161331926819","GE29NB0000000101904917"];var gr=()=>n(X);var Dr=()=>`${i(0,255).toString()}.${i(0,255).toString()}.${i(0,255).toString()}.${i(0,255).toString()}`;var Or=()=>n([...C,...R]),Pr=()=>n(O),wr=()=>n(P),jr=()=>n(p)+" "+n(l);var zr=({length:t=6}={})=>{if(t<1)throw new Error("randomNumericCode: Length must be greater than 0.");return s(t,(e,o)=>i(o?0:1,9)).join("")};var xt=1,H=()=>xt++;var Wr=()=>G()+n(U)+i(11,99);var Yr=()=>{let t=H().toString().padStart(15,"0"),e=t.substring(0,12);return `00000000-0000-1000-8${t.substring(12,15)}-${e}`};
1
+ var s=(t,e)=>Array.from({length:t},e);var I=t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase();var It=({number:t,min:e,max:o})=>(o<e&&process.env.DEVERYTHING_WARNINGS&&console.warn("clamp: max < min",{number:t,min:e,max:o}),t<e?e:t>o?o:t);var Mt=t=>t.trim().replace(/\s{2,}/g," ");var Lt=t=>t==null?void 0:t[0];var E=t=>Object.keys(t).concat(V(t)),V=t=>Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[];var ht=t=>t==null?void 0:t[t.length-1];var u=t=>Array.isArray(t);var Ot=t=>Object.prototype.toString.call(t)==="[object Boolean]";var _=()=>typeof window=="undefined";var d=()=>!_();var Ft=d;var A=t=>typeof t=="string";var Ht=t=>A(t)&&/\S+@\S+\.\S+/.test(t);var m=t=>Object.prototype.toString.call(t)==="[object Object]";var M=t=>K(t)||W(t)||J(t)?!0:t==null,J=t=>A(t)&&t.trim().length===0,W=t=>u(t)&&t.length===0,K=t=>m(t)&&Object.keys(t).length===0;var Yt=t=>Object.prototype.toString.call(t)==="[object Function]";var S=t=>Object.prototype.toString.call(t)==="[object Date]"&&!isNaN(t);var y=(t,e)=>e.hasOwnProperty(t)&&e.propertyIsEnumerable(t);var b=t=>Number.isInteger(t),te=t=>b(t)&&!(t%2),ee=t=>b(t)&&!!(t%2),g=t=>b(t)&&t>0,oe=t=>b(t)&&t<0,re=t=>Object.prototype.toString.apply(t)==="[object Number]"&&isFinite(t);var L=t=>!isNaN(t);var ae=t=>t instanceof Promise;var ce=()=>d()&&window.matchMedia("(display-mode: standalone)").matches;var $=typeof Symbol=="function"&&Symbol.for,Y=$?Symbol.for("react.element"):60103,le=t=>t.$$typeof===Y;var de=t=>Object.prototype.toString.call(t)==="[object RegExp]";var ye=t=>{let e=new Date(t);return S(e)};var fe=t=>typeof t=="undefined";var q=new RegExp("^(https?:\\/\\/)?((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.?)+[a-z]{2,}|((\\d{1,3}\\.){3}\\d{1,3}))(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*(\\?[;&a-z\\d%_.~+=-]*)?(\\#[-a-z\\d_]*)?$","i"),Ee=t=>!!t&&q.test(t);var Ne=t=>/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t);var B=t=>t!=null&&!Number.isNaN(t);var T=(t,e)=>{let o={};return E(t).forEach(r=>{o[r]=m(t[r])?T({},t[r]):t[r];}),E(e).forEach(r=>{y(r,t)?o[r]=m(t[r])&&m(e[r])?T(t[r],e[r]):e[r]:o[r]=m(e[r])?T({},e[r]):e[r];}),o};var Be=(t,e)=>{let o=[...t];for(let r=0;r<o.length;r++)if(e(o[r],r,o)){let a=o.splice(r,1);o.unshift(a[0]);break}return o};var he=(t,e)=>{let o=[...t];for(let r=0;r<o.length;r++)if(e(o[r],r,o)){let a=o.splice(r,1)[0];o.push(a);break}return o};var Pe=t=>{if(M(t))return;let e=new Date(t);if(S(e))return e};var je=t=>JSON.stringify(t,null,2);var ve=(t,e,o)=>{let r,a=new Promise((Et,k)=>{r=setTimeout(()=>k(o!=null?o:new Error("Promise timed out")),e);});return Promise.race([t(),a]).finally(()=>{clearTimeout(r);})};var ze=t=>new Promise(e=>{setTimeout(e,t);});var He=(t,e)=>{if(u(t)){let o=t.reduce((r,a)=>(a!==e&&r.push(a),r),[]);return o.length===t.length&&o.push(e),o}return t};var Je=(t,e,o="...")=>{if(!g(e))return t;let r=[...t];return r.length<=e?t:r.slice(0,e).join("")+o};var Z=[{city:"London",country:"United Kingdom",street:"Baker Street",number:"221B",zip:"NW1 6XE"},{city:"Birmingham",country:"United Kingdom",street:"Bordesley Street",number:"B1 1AA",zip:"B1 1AA"}],Q=[{city:"New York",country:"United States",street:"Broadway",number:"42",zip:"10036"},{city:"Los Angeles",country:"United States",street:"Hollywood Boulevard",number:"6801",zip:"90028"}],tt=[{city:"Paris",country:"France",street:"Rue de Rivoli",number:"75001",zip:"75001"},{city:"Berlin",country:"Germany",street:"Unter den Linden",number:"10117",zip:"10117"},{city:"Rome",country:"Italy",street:"Via del Corso",number:"00186",zip:"00186"},{city:"Madrid",country:"Spain",street:"Gran V\xEDa",number:"28013",zip:"28013"}],et=[{city:"Moscow",country:"Russia",street:"Tverskaya",number:"101000",zip:"101000"},{city:"Tokyo",country:"Japan",street:"Shinjuku",number:"160-0022",zip:"160-0022"},{city:"Beijing",country:"China",street:"Changan",number:"100005",zip:"100005"},{city:"Cairo",country:"Egypt",street:"Al-Muizz",number:"11511",zip:"11511"},{city:"Buenos Aires",country:"Argentina",street:"Avenida de Mayo",number:"1002",zip:"C1006AAQ"},{city:"Cape Town",country:"South Africa",street:"Adderley",number:"7700",zip:"7700"},{city:"Sydney",country:"Australia",street:"George",number:"2000",zip:"2000"},{city:"Rio de Janeiro",country:"Brazil",street:"Av. Presidente Vargas",number:"20021-000",zip:"20021-000"},{city:"Mexico City",country:"Mexico",street:"Paseo de la Reforma",number:"06500",zip:"06500"}],D=[...Z,...Q,...tt,...et];var i=(t=-100,e=100)=>Math.floor(Math.random()*(e-t+1)+t),$e=(t=100)=>i(1,t),Ye=(t=-100)=>i(t,-1),qe=()=>i(-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),Ze=()=>i(-Number.MAX_VALUE,Number.MAX_VALUE),Qe=()=>i(-100,100);var n=t=>t[i(0,t.length-1)];var io=()=>n(D);var ot="123456789ABCDEFGHIJKLMNPQRSTUVWXYZ".split(""),co=({length:t=6}={})=>{if(t<1)throw new Error("randomAlphaNumericCode: Length must be greater than 0.");return s(t,()=>n(ot)).join("")};var uo=()=>!!i(0,1);var yo=16,N=(t=-9,e=9,o)=>{let r=Math.random()*(e-t)+t;return B(o)?parseFloat(r.toFixed(o)):r};var xo=()=>({lat:rt(),lng:nt()}),rt=()=>N(-90,90),nt=()=>N(-180,180);var c=(t,e)=>{let o=t||new Date(-31536e7),r=e||new Date(31536e7);return new Date(o.getTime()+Math.random()*(r.getTime()-o.getTime()))},No=(t,e)=>{let o=t||new Date(-864e13),r=e||new Date(864e13);return c(o,r)},Io=()=>{let t=new Date(new Date().getTime()+5*6e4);return c(t)},_o=()=>c(void 0,new Date),Mo=()=>{let t=c();return {endDate:c(t),startDate:t}};var h=["gmail.com","yahoo.com","hotmail.com","aol.com","msn.com","comcast.net","live.com","sbcglobal.net","verizon.net","att.net","mac.com","me.com","earthlink.net","charter.net","shaw.ca","yahoo.ca","googlemail.com","mail.com","qq.com","web.de","gmx.de","mail.ru"];var C=["Aardvark","Albatross","Alligator","Alpaca","Ant","Anteater","Antelope","Ape"],R=["Axe","Ball Peen Hammer","Band Saw","Bench Grinder","Biscuit Joiner","Bolt Cutter","Boring Machine","Bow Saw"],p=["Adam","Adrian","Alan","Albert","Alexander","Alice","Amanda","Emma","Amelia","Amy","Andrew","Esther","Olivia","Ruby"],l=["Smith","Johnson","Williams","Jones","Brown","Davis","Miller","Wilson","Moore","Taylor","Anderson","Thomas","Jackson","White"],st=["\u0410\u0431\u0438\u0433\u0430\u0438\u043B","\u0410\u0434\u0430\u043C","\u0410\u0434\u0440\u0438\u0430\u043D","\u0410\u0433\u043D\u0435\u0441","\u0410\u043B\u0430\u043D","\u0410\u043B\u044C\u0431\u0435\u0440\u0442","\u0410\u043B\u0435\u043A\u0441\u0430\u043D\u0434\u0440","\u0410\u043B\u0438\u0441\u0430","\u0410\u043C\u0430\u043D\u0434\u0430","\u0410\u043C\u0435\u043B\u0438\u044F","\u042D\u043C\u0438","\u042D\u043D\u0434\u0440\u044E"],mt=["\u0421\u043C\u0438\u0442","\u0414\u0436\u043E\u043D\u0441\u043E\u043D","\u0423\u0438\u043B\u044C\u044F\u043C\u0441","\u0414\u0436\u043E\u043D\u0441","\u0411\u0440\u0430\u0443\u043D","\u0414\u044D\u0432\u0438\u0441","\u041C\u0438\u043B\u043B\u0435\u0440","\u0412\u0438\u043B\u0441\u043E\u043D","\u041C\u0443\u0440","\u0422\u0435\u0439\u043B\u043E\u0440","\u0410\u043D\u0434\u0435\u0440\u0441\u043E\u043D","\u0422\u043E\u043C\u0430\u0441","\u0414\u0436\u0435\u043A\u0441\u043E\u043D","\u0423\u0430\u0439\u0442"],ct=["\u30A2\u30D3\u30B2\u30A4\u30EB","\u30A2\u30C0\u30E0","\u30A2\u30C9\u30EA\u30A2\u30F3","\u30A2\u30B0\u30CD\u30B9","\u30A2\u30E9\u30F3","\u30A2\u30EB\u30D0\u30FC\u30C8","\u30A2\u30EC\u30AF\u30B5\u30F3\u30C0\u30FC","\u30A2\u30EA\u30B9","\u30A2\u30DE\u30F3\u30C0","\u30A2\u30E1\u30EA\u30A2","\u30A2\u30DF\u30FC","\u30A2\u30F3\u30C9\u30EA\u30E5\u30FC"],pt=["\u30B9\u30DF\u30B9","\u30B8\u30E7\u30F3\u30BD\u30F3","\u30A6\u30A3\u30EA\u30A2\u30E0\u30BA","\u30B8\u30E7\u30FC\u30F3\u30BA","\u30D6\u30E9\u30A6\u30F3","\u30C7\u30A4\u30D3\u30B9","\u30DF\u30E9\u30FC","\u30A6\u30A3\u30EB\u30BD\u30F3","\u30E2\u30A2","\u30BF\u30A4\u30E9\u30FC","\u30A2\u30F3\u30C0\u30FC\u30BD\u30F3","\u30C8\u30FC\u30DE\u30B9","\u30B8\u30E3\u30AF\u30BD\u30F3","\u30DB\u30EF\u30A4\u30C8"],lt=["\u0623\u0628\u064A\u062C\u064A\u0644","\u0622\u062F\u0645","\u0622\u062F\u0631\u064A\u0627\u0646","\u0623\u063A\u0646\u064A\u0633","\u0622\u0644\u0627\u0646","\u0622\u0644\u0628\u0631\u062A","\u0623\u0644\u0643\u0633\u0646\u062F\u0631","\u0622\u0644\u064A\u0633","\u0622\u0645\u0627\u0646\u062F\u0627","\u0622\u0645\u064A\u0644\u064A\u0627","\u0622\u0645\u064A","\u0623\u0646\u062F\u0631\u0648"],ut=["\u0633\u0645\u064A\u062B","\u062C\u0648\u0646\u0633\u0648\u0646","\u0648\u064A\u0644\u064A\u0627\u0645\u0632","\u062C\u0648\u0646\u0632","\u0628\u0631\u0627\u0648\u0646","\u062F\u064A\u0641\u064A\u0633","\u0645\u064A\u0644\u0631","\u0648\u064A\u0644\u0633\u0648\u0646","\u0645\u0648\u0631","\u062A\u0627\u064A\u0644\u0648\u0631","\u0623\u0646\u062F\u0631\u0633\u0648\u0646","\u062A\u0648\u0645\u0627\u0633","\u062C\u0627\u0643\u0633\u0648\u0646","\u0648\u0627\u064A\u062A"],O=[...p,...st,...ct,...lt],P=[...l,...mt,...pt,...ut];var w=()=>(n(p)+"."+n(l)).toLowerCase()+i(11,99);var jo=()=>`${w()}@${n(h)}`;var j=["\u{1F600}","\u{1F601}","\u{1F602}","\u{1F923}","\u{1F603}","\u{1F604}","\u{1F605}","\u{1F606}","\u{1F609}","\u{1F60A}","\u{1F60B}","\u{1F60E}","\u{1F60D}","\u{1F618}","\u{1F617}","\u{1F619}"],U=["!","@","#","$","%","^","&","*"];var Go=()=>n(j);var Vo=t=>n(Object.keys(t).filter(e=>!L(e)));var $o=t=>{let e=[];return Object.values(t).forEach(o=>{y(o,t)&&!e.includes(o)&&e.push(t[o]);}),n(e)};var dt=["abide","abound","accept","accomplish","achieve","acquire","act","adapt","add","adjust","admire","admit","adopt","advance","advise","afford","agree","alert","allow","be","go","need","work"],At=["abandon","ability","able","abortion","about","above","abroad","absence","absent","absolute"],St=["abandoned","abdominal","ability","able","abnormal","abolish","abortion","about","above","abroad","absence","absent","absolute"],yt=["abnormally","aboard","absentmindedly","absolutely","absurdly","abundantly","abysmally","academically","acceleratedly","accentually","acceptably","accessibly","accidentally","accommodatingly"],bt=["Pneumonoultramicroscopicsilicovolcanoconiosis","Floccinaucinihilipilification","Pseudopseudohypoparathyroidism","Hippopotomonstrosesquippedaliophobia","Antidisestablishmentarianism","Supercalifragilisticexpialidocious","Honorificabilitudinitatibus"];var v=["AliceBlue","Aqua","Aquamarine","Azure","Beige","Bisque","Black","Blue","BlueViolet","Brown","BurlyWood","CadetBlue","Chartreuse","Chocolate","Coral","DarkSlateGray","DeepPink","Gold","Lime","Olive","Orchid","Salmon","Turquoise"],F=[...dt,...At,...St,...yt,...bt];var f=()=>n(F);var z=()=>I(s(8,()=>f()).join(" "))+".";var ft=["png","jpg","jpeg","gif","svg","webp"],mr=({name:t,extension:e}={})=>{if(typeof File=="undefined")return;let o=e||n(ft);return new File([z()],`${t||f()}.${o}`,{type:`image/${o}`})};var x=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];var Ar=()=>"#"+s(6,()=>n(x)).join("");var fr=()=>n(x);var G=()=>n(v);var X=["AD1200012030200359100100","BA391290079401028494","BE68539007547034","BG80BNBG96611020345678","BH67BMAG00001299123456","BY13NBRB3600900000002Z00AB00","CH9300762011623852957","CR05015202001026284066","CY17002001280000001200527600","CZ6508000000192000145399","DE89370400440532013000","DO28BAGR00000001212453611324","EE382200221020145685","ES9121000418450200051332","FI2112345600000785","FO6264600001631634","FR1420041010050500013M02606","GB29NWBK60161331926819","GE29NB0000000101904917"];var gr=()=>n(X);var Dr=()=>`${i(0,255).toString()}.${i(0,255).toString()}.${i(0,255).toString()}.${i(0,255).toString()}`;var Or=()=>n([...C,...R]),Pr=()=>n(O),wr=()=>n(P),jr=()=>n(p)+" "+n(l);var zr=({length:t=6}={})=>{if(t<1)throw new Error("randomNumericCode: Length must be greater than 0.");return s(t,(e,o)=>i(o?0:1,9)).join("")};var xt=1,H=()=>xt++;var Wr=()=>G()+n(U)+i(11,99);var Yr=()=>{let t=H().toString().padStart(15,"0"),e=t.substring(0,12);return `00000000-0000-1000-8${t.substring(12,15)}-${e}`};
2
2
 
3
3
  export { yo as JS_MAX_DIGITS, s as array, I as capitalize, It as clamp, Mt as cleanSpaces, Lt as first, V as getEnumerableOwnPropertySymbols, E as getKeys, u as isArray, Ot as isBoolean, Ft as isBrowser, d as isClient, Ht as isEmail, M as isEmpty, W as isEmptyArray, K as isEmptyObject, J as isEmptyString, te as isEven, Yt as isFunction, b as isInt, S as isJsDate, y as isKey, oe as isNegative, re as isNumber, L as isNumeric, m as isObject, ee as isOdd, ce as isPWA, g as isPositive, ae as isPromise, le as isReactElement, de as isRegExp, _ as isServer, A as isString, ye as isStringDate, Ee as isURL, Ne as isUUID, fe as isUndefined, B as isValue, ht as last, T as merge, Be as moveToFirst, he as moveToLast, Pe as parseDate, je as pretty, ve as promiseWithTimeout, io as randomAddress, co as randomAlphaNumericCode, n as randomArrayItem, uo as randomBool, xo as randomCoords, c as randomDate, Mo as randomDateRange, jo as randomEmail, Go as randomEmoji, Vo as randomEnumKey, $o as randomEnumValue, mr as randomFile, Pr as randomFirstName, N as randomFloat, jr as randomFullName, Io as randomFutureDate, w as randomHandle, Ar as randomHexColor, fr as randomHexValue, G as randomHtmlColorName, gr as randomIBAN, Dr as randomIP, i as randomInt, wr as randomLastName, rt as randomLat, nt as randomLng, No as randomMaxDate, Ze as randomMaxInt, qe as randomMaxSafeInt, Or as randomName, Ye as randomNegativeInt, zr as randomNumericCode, H as randomNumericId, z as randomParagraph, Wr as randomPassword, _o as randomPastDate, Qe as randomPercentage, $e as randomPositiveInt, Yr as randomUUID, f as randomWord, ze as sleep, He as toggleArray, Je as truncate };
4
4
  //# sourceMappingURL=out.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/helpers/array.ts","../src/helpers/capitalize.ts","../src/helpers/clamp.ts","../src/helpers/cleanSpaces.ts","../src/helpers/first.ts","../src/helpers/getKeys.ts","../src/helpers/last.ts","../src/validators/isArray.ts","../src/validators/isBoolean.ts","../src/validators/isServer.ts","../src/validators/isClient.ts","../src/validators/isBrowser.ts","../src/validators/isString.ts","../src/validators/isEmail.ts","../src/validators/isObject.ts","../src/validators/isEmpty.ts","../src/validators/isFunction.ts","../src/validators/isJsDate.ts","../src/validators/isKey.ts","../src/validators/isNumber.ts","../src/validators/isNumeric.ts","../src/validators/isPromise.ts","../src/validators/isPWA.ts","../src/validators/isReactElement.ts","../src/validators/isRegExp.ts","../src/validators/isStringDate.ts","../src/validators/isUndefined.ts","../src/validators/isURL.ts","../src/validators/isUUID.ts","../src/validators/isValue.ts","../src/helpers/merge.ts","../src/helpers/moveToFirst.ts","../src/helpers/moveToLast.ts","../src/helpers/parseDate.ts","../src/helpers/pretty.ts","../src/helpers/promiseWithTimeout.ts","../src/helpers/sleep.ts","../src/helpers/toggleArray.ts","../src/helpers/truncate.ts","../src/constants/addresses.ts","../src/random/randomInt.ts","../src/random/randomArrayItem.ts","../src/random/randomAddress.ts","../src/random/randomAlphaNumericCode.ts","../src/random/randomBool.ts","../src/random/randomFloat.ts","../src/random/randomCoords.ts","../src/random/randomDate.ts","../src/constants/domains.ts","../src/constants/names.ts","../src/random/randomHandle.ts","../src/random/randomEmail.ts","../src/constants/unicode.ts","../src/random/randomEmoji.ts","../src/random/randomEnumKey.ts","../src/random/randomEnumValue.ts","../src/constants/words.ts","../src/random/randomWord.ts","../src/random/randomParagraph.ts","../src/random/randomFile.ts","../src/constants/hex.ts","../src/random/randomHexColor.ts","../src/random/randomHexValue.ts","../src/random/randomHtmlColorName.ts","../src/constants/banking.ts","../src/random/randomIBAN.ts","../src/random/randomIP.ts","../src/random/randomName.ts","../src/random/randomNumericCode.ts","../src/random/randomNumericId.ts","../src/random/randomPassword.ts","../src/random/randomUUID.ts"],"names":["array","length","mapFn","capitalize","string","clamp","number","min","max","cleanSpaces","str","first","arr","getKeys","arg","getEnumerableOwnPropertySymbols","symbol","last","isArray","isBoolean","isServer","isClient","isBrowser","isString","isEmail","isObject","isEmpty","isEmptyObject","isEmptyArray","isEmptyString","isFunction","isJsDate","isKey","key","obj","isInt","isEven","isOdd","isPositive","isNegative","isNumber","isNumeric","num","isPromise","isPWA","canUseSymbol","REACT_ELEMENT_TYPE","isReactElement","value","isRegExp","isStringDate","date","isUndefined","pattern","isURL","isUUID","isValue","merge","target","source","merger","moveToFirst","items","condition","resortedItems","i","firstItem","moveToLast","lastItem","parseDate","pretty","promiseWithTimeout","promise","timeoutMs","error","timeout","timeoutPromise","_","reject","sleep","timeMs","resolve","toggleArray","copy","acc","val","truncate","limit","ellipsis","argArray","UK_ADDRESSES","US_ADDRESSES","EUROPE_ADDRESSES","MIXED_ADDRESSES","ADDRESSES","randomInt","start","end","randomPositiveInt","randomNegativeInt","randomMaxSafeInt","randomMaxInt","randomPercentage","randomArrayItem","randomAddress","chars","randomAlphaNumericCode","randomBool","JS_MAX_DIGITS","randomFloat","decimals","float","randomCoords","randomLat","randomLng","randomDate","startDate","endDate","randomMaxDate","randomFutureDate","safeNow","randomPastDate","randomDateRange","DOMAIN_NAMES","ANIMAL_NAMES","TOOL_NAMES","LATIN_FIRST_NAMES","LATIN_LAST_NAMES","CYRILLIC_FIRST_NAMES","CYRILLIC_LAST_NAMES","JAPANESE_FIRST_NAMES","JAPANESE_LAST_NAMES","ARABIC_FIRST_NAMES","ARABIC_LAST_NAMES","FIRST_NAMES","LAST_NAMES","randomHandle","randomEmail","EMOJI_SAMPLE","SPECIAL_CHARACTERS","randomEmoji","randomEnumKey","enumObject","randomEnumValue","values","VERBS","NOUNS","ADJECTIVES","ADVERBS","LONG_WORDS","HTML_COLOR_NAME_SAMPLES","WORDS","randomWord","randomParagraph","fileExtensions","randomFile","name","extension","_extension","HEX_VALUES","randomHexColor","randomHexValue","randomHtmlColorName","IBAN_SAMPLES","randomIBAN","randomIP","randomName","randomFirstName","randomLastName","randomFullName","randomNumericCode","index","id","randomNumericId","randomPassword","randomUUID","digit12"],"mappings":"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CACF,CACF,ECvCO,IAAMO,EAAe,CAC1B,YACA,YACA,cACA,UACA,UACA,cACA,WACA,gBACA,cACA,UACA,UACA,SACA,gBACA,cACA,UACA,WACA,iBACA,WACA,SACA,SACA,SACA,SACF,ECvBO,IAAMC,EAAe,CAC1B,WACA,YACA,YACA,SACA,MACA,WACA,WACA,KACF,EAEaC,EAAa,CACxB,MACA,mBACA,WACA,gBACA,iBACA,cACA,iBACA,SACF,EAEaC,EAAoB,CAC/B,OACA,SACA,OACA,SACA,YACA,QACA,SACA,OACA,SACA,MACA,SACA,SACA,SACA,MACF,EAEaC,EAAmB,CAC9B,QACA,UACA,WACA,QACA,QACA,QACA,SACA,SACA,QACA,SACA,WACA,SACA,UACA,OACF,EAEaC,GAAuB,CAClC,6CACA,2BACA,uCACA,iCACA,2BACA,6CACA,yDACA,iCACA,uCACA,uCACA,qBACA,gCACF,EAEaC,GAAsB,CACjC,2BACA,6CACA,6CACA,iCACA,iCACA,iCACA,uCACA,uCACA,qBACA,uCACA,mDACA,iCACA,6CACA,0BACF,EAEaC,GAAuB,CAClC,iCACA,qBACA,iCACA,2BACA,qBACA,iCACA,6CACA,qBACA,2BACA,2BACA,qBACA,sCACF,EAEaC,GAAsB,CACjC,qBACA,iCACA,uCACA,iCACA,2BACA,2BACA,qBACA,iCACA,eACA,2BACA,uCACA,2BACA,iCACA,0BACF,EAEaC,GAAqB,CAChC,uCACA,qBACA,uCACA,iCACA,2BACA,iCACA,6CACA,2BACA,uCACA,uCACA,qBACA,gCACF,EAEaC,GAAoB,CAC/B,2BACA,uCACA,6CACA,2BACA,iCACA,iCACA,2BACA,uCACA,qBACA,uCACA,6CACA,iCACA,uCACA,0BACF,EAEaC,EAAc,CACzB,GAAGR,EACH,GAAGE,GACH,GAAGE,GACH,GAAGE,EACL,EAEaG,EAAa,CACxB,GAAGR,EACH,GAAGE,GACH,GAAGE,GACH,GAAGE,EACL,EChKO,IAAMG,EAAe,KAExBjC,EAAgBuB,CAAiB,EACjC,IACAvB,EAAgBwB,CAAgB,GAChC,YAAY,EAAIhC,EAAU,GAAI,EAAE,ECJ7B,IAAM0C,GAAc,IACzB,GAAGD,EAAa,KAAKjC,EAAgBoB,CAAY,ICN5C,IAAMe,EAAe,CAC1B,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACF,EAEaC,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EChBlE,IAAMC,GAAc,IAClBrC,EAAgBmC,CAAY,ECD9B,IAAMG,GAAmCC,GACvCvC,EACL,OAAO,KAAKuC,CAAU,EAAE,OAAQ7G,GAAQ,CAACQ,EAAUR,CAAG,CAAC,CACzD,ECHK,IAAM8G,GACXD,GACe,CACf,IAAIE,EAAuB,CAAC,EAE5B,cAAO,OAAOF,CAAU,EAAE,QAAS9F,GAAU,CAEvChB,EAAMgB,EAAO8F,CAAU,GAAK,CAACE,EAAO,SAAShG,CAAmB,GAClEgG,EAAO,KAAKF,EAAW9F,CAAgB,CAAC,CAC5C,CAAC,EAEMuD,EAAgByC,CAAM,CAC/B,ECfO,IAAMC,GAAQ,CACnB,QACA,SACA,SACA,aACA,UACA,UACA,MACA,QACA,MACA,SACA,SACA,QACA,QACA,UACA,SACA,SACA,QACA,QACA,QACA,KACA,KACA,OACA,MACF,EAEaC,GAAQ,CACnB,UACA,UACA,OACA,WACA,QACA,QACA,SACA,UACA,SACA,UACF,EAEaC,GAAa,CACxB,YACA,YACA,UACA,OACA,WACA,UACA,WACA,QACA,QACA,SACA,UACA,SACA,UACF,EAEaC,GAAU,CACrB,aACA,SACA,iBACA,aACA,WACA,aACA,YACA,eACA,gBACA,cACA,aACA,aACA,eACA,iBACF,EAEaC,GAAa,CACxB,gDACA,gCACA,iCACA,uCACA,+BACA,qCACA,6BACF,EAqEO,IAAMC,EAA0B,CACrC,YACA,OACA,aACA,QACA,QACA,SACA,QACA,OACA,aACA,QACA,YACA,YACA,aACA,YACA,QACA,gBACA,WACA,OACA,OACA,QACA,SACA,SACA,WACF,EAEaC,EAAQ,CACnB,GAAGN,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,EACL,EClLO,IAAMG,EAAa,IACjBjD,EAAgBgD,CAAK,ECAvB,IAAME,EAAkB,IACtBtJ,EAAWH,EAAM,EAAG,IAAMwJ,EAAW,CAAC,EAAE,KAAK,GAAG,CAAC,EAAI,ICD9D,IAAME,GAAiB,CAAC,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAM,EAGrDC,GAAa,CAAC,CACzB,KAAAC,EACA,UAAAC,CACF,EAGI,CAAC,IAAwB,CAC3B,GAAI,OAAO,MAAS,YAAa,OAEjC,IAAMC,EAAaD,GAAatD,EAAgBmD,EAAc,EAC9D,OAAO,IAAI,KACT,CAACD,EAAgB,CAAC,EAClB,GAAGG,GAAQJ,EAAW,KAAKM,IAC3B,CACE,KAAM,SAASA,GACjB,CACF,CACF,ECxBO,IAAMC,EAAa,CACxB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GACF,ECbO,IAAMC,GAAiB,IACrB,IAAMhK,EAAM,EAAG,IAAMuG,EAAgBwD,CAAU,CAAC,EAAE,KAAK,EAAE,ECF3D,IAAME,GAAiB,IACrB1D,EAAgBwD,CAAU,ECD5B,IAAMG,EAAsB,IAC1B3D,EAAgB+C,CAAuB,ECJzC,IAAMa,EAAe,CAC1B,2BACA,uBACA,mBACA,yBACA,yBACA,+BACA,wBACA,yBACA,+BACA,2BACA,yBACA,+BACA,uBACA,2BACA,qBACA,qBACA,8BACA,yBACA,wBACF,ECjBO,IAAMC,GAAa,IACjB7D,EAAgB4D,CAAY,ECF9B,IAAME,GAAW,IACf,GAAGtE,EAAU,EAAG,GAAG,EAAE,SAAS,KAAKA,EACxC,EACA,GACF,EAAE,SAAS,KAAKA,EAAU,EAAG,GAAG,EAAE,SAAS,KAAKA,EAC9C,EACA,GACF,EAAE,SAAS,ICCN,IAAMuE,GAAa,IACxB/D,EAAgB,CAAC,GAAGqB,EAAc,GAAGC,CAAU,CAAC,EAErC0C,GAAkB,IAAMhE,EAAgB+B,CAAW,EAEnDkC,GAAiB,IAAMjE,EAAgBgC,CAAU,EAEjDkC,GAAiB,IAC5BlE,EAAgBuB,CAAiB,EAAI,IAAMvB,EAAgBwB,CAAgB,ECLtE,IAAM2C,GAAoB,CAAC,CAAE,OAAAzK,EAAS,CAAE,EAAyB,CAAC,IAAM,CAC7E,GAAIA,EAAS,EACX,MAAM,IAAI,MAAM,mDAAmD,EAErE,OAAOD,EAAMC,EAAQ,CAAC4E,EAAG8F,IAAU5E,EAAW4E,EAAY,EAAJ,EAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAC1E,EClBA,IAAIC,GAAK,EAEIC,EAAkB,IACtBD,KCEF,IAAME,GAAiB,IAC5BZ,EAAoB,EACpB3D,EAAgBoC,CAAkB,EAClC5C,EAAU,GAAI,EAAE,ECCX,IAAMgF,GAAa,IAAM,CAC9B,IAAMH,EAAKC,EAAgB,EAAE,SAAS,EAAE,SAAS,GAAI,GAAG,EAClDG,EAAUJ,EAAG,UAAU,EAAG,EAAE,EAElC,MAAO,uBADQA,EAAG,UAAU,GAAI,EAAE,KACMI,GAC1C","sourcesContent":["export const array = <U extends (...args: any) => any>(\n length: number,\n mapFn: U\n): ReturnType<U>[] => {\n return Array.from({ length }, mapFn);\n};\n","export const capitalize = (string: string) => {\n return string.charAt(0).toUpperCase() + string.slice(1);\n};\n","export const clamp = ({\n number,\n min,\n max,\n}: {\n number: number;\n min: number;\n max: number;\n}) => {\n if (max < min && process.env.DEVERYTHING_WARNINGS) {\n console.warn(\"clamp: max < min\", { number, min, max });\n }\n\n if (number < min) {\n return min;\n }\n\n if (number > max) {\n return max;\n }\n\n return number;\n};\n","export const cleanSpaces = (str: string): string => {\n return str.trim().replace(/\\s{2,}/g, \" \");\n};\n","export const first = <T>(arr?: T[]): T | undefined => arr?.[0];\n","export const getKeys = (arg: object) => {\n return Object.keys(arg).concat(getEnumerableOwnPropertySymbols(arg));\n};\n\n// Object.keys does not return enumerable symbols\nexport const getEnumerableOwnPropertySymbols = (arg: object): any[] => {\n return Object.getOwnPropertySymbols\n ? Object.getOwnPropertySymbols(arg).filter(function (symbol) {\n return Object.propertyIsEnumerable.call(arg, symbol);\n })\n : [];\n};\n","export const last = <T>(arr?: T[]): T | undefined => arr?.[arr.length - 1];\n","export const isArray = <T>(arg?: any): arg is T[] => Array.isArray(arg);\n","export const isBoolean = (arg: any) =>\n Object.prototype.toString.call(arg) === \"[object Boolean]\";\n","export const isServer = () => typeof window === \"undefined\";\n","import { isServer } from \"./isServer\";\n\nexport const isClient = () => !isServer();\n","import { isClient } from \"./isClient\";\n\nexport const isBrowser = isClient;\n","export const isString = (arg: any) => typeof arg === \"string\";\n","import { isString } from \"./isString\";\n\nexport const isEmail = (arg: string) =>\n isString(arg) && /\\S+@\\S+\\.\\S+/.test(arg);\n","export const isObject = <T>(arg?: any): arg is Record<string, T> =>\n Object.prototype.toString.call(arg) === \"[object Object]\";\n","import { Maybe } from \"../types\";\nimport { isArray } from \"./isArray\";\nimport { isObject } from \"./isObject\";\nimport { isString } from \"./isString\";\n\nexport const isEmpty = (arg?: Maybe<any>) => {\n if (isEmptyObject(arg)) return true;\n if (isEmptyArray(arg)) return true;\n if (isEmptyString(arg)) return true;\n\n return arg === undefined || arg === null;\n};\n\nexport const isEmptyString = (arg: string) => {\n return isString(arg) && arg.trim().length === 0;\n};\n\nexport const isEmptyArray = (arg: any[]) => {\n return isArray(arg) && arg.length === 0;\n};\n\nexport const isEmptyObject = (arg: Object) => {\n return isObject(arg) && Object.keys(arg).length === 0;\n};\n","export const isFunction = (arg: any) =>\n Object.prototype.toString.call(arg) === \"[object Function]\";\n","export const isJsDate = (arg: Date): arg is Date =>\n Object.prototype.toString.call(arg) === \"[object Date]\" &&\n !isNaN(arg as unknown as number);\n","export const isKey = <T extends object>(\n key: string | number | symbol,\n obj: T\n): key is keyof T =>\n obj.hasOwnProperty(key) && // makes sure the prop is not in the prototype chain\n obj.propertyIsEnumerable(key); // makes sure the prop is not a getter/setter\n","export const isInt = (arg: number) => Number.isInteger(arg);\n\nexport const isEven = (arg: number) => isInt(arg) && !(arg % 2);\n\nexport const isOdd = (arg: number) => isInt(arg) && !!(arg % 2);\n\nexport const isPositive = (arg: number) => isInt(arg) && arg > 0;\n\nexport const isNegative = (arg: number) => isInt(arg) && arg < 0;\n\nexport const isNumber = (arg: any): arg is number => {\n return (\n Object.prototype.toString.apply(arg) === \"[object Number]\" && isFinite(arg)\n );\n};\n","export const isNumeric = (num: number | string): boolean => {\n return !isNaN(num as number); // isNaN DOES actually work with string-numbers!\n};\n","export const isPromise = (arg: any) => arg instanceof Promise;\n","import { isClient } from \"./isClient\";\n\nexport const isPWA = () => {\n return isClient() && window.matchMedia(\"(display-mode: standalone)\").matches; // credits to Narcis\n};\n","var canUseSymbol = typeof Symbol === \"function\" && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for(\"react.element\") : 0xeac7;\n\nexport const isReactElement = (value: any) => {\n return value.$$typeof === REACT_ELEMENT_TYPE;\n};\n","export const isRegExp = (arg: any): arg is RegExp =>\n Object.prototype.toString.call(arg) === \"[object RegExp]\";\n","import { isJsDate } from \"./isJsDate\";\n\nexport const isStringDate = (arg: string) => {\n const date = new Date(arg);\n return isJsDate(date);\n};\n","export const isUndefined = (arg: any) => typeof arg === \"undefined\";\n","const pattern = new RegExp(\n \"^(https?:\\\\/\\\\/)?\" + // protocol\n \"((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.?)+[a-z]{2,}|\" + // domain name\n \"((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))\" + // OR ip (v4) address\n \"(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*\" + // port and path\n \"(\\\\?[;&a-z\\\\d%_.~+=-]*)?\" + // query string\n \"(\\\\#[-a-z\\\\d_]*)?$\",\n \"i\"\n); // fragment locator\n\nexport const isURL = (arg: string) => {\n return !!arg && pattern.test(arg);\n};\n","export const isUUID = (arg: string) =>\n /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(\n arg\n );\n","import { Maybe } from \"../types\";\n\nexport const isValue = (arg?: Maybe<any>) => {\n return arg !== undefined && arg !== null && !Number.isNaN(arg);\n};\n","import { PlainObject } from \"../types\";\nimport { isKey, isObject } from \"../validators\";\nimport { getKeys } from \"./getKeys\";\n\n// Simple merge function that merges two objects, arrays get overwritten, no options\nexport const merge = (target: PlainObject, source: PlainObject) => {\n const merger: PlainObject = {};\n getKeys(target).forEach((key) => {\n merger[key] = isObject(target[key]) ? merge({}, target[key]) : target[key];\n });\n getKeys(source).forEach((key) => {\n if (isKey(key, target))\n merger[key] =\n isObject(target[key]) && isObject(source[key])\n ? merge(target[key], source[key])\n : source[key];\n else\n merger[key] = isObject(source[key])\n ? merge({}, source[key])\n : source[key];\n });\n return merger;\n};\n","export const moveToFirst = <T>(\n items: T[],\n condition: (item: T, i: number, items: T[]) => boolean\n): T[] => {\n const resortedItems = [...items];\n for (let i = 0; i < resortedItems.length; i++) {\n if (condition(resortedItems[i], i, resortedItems)) {\n let firstItem = resortedItems.splice(i, 1);\n resortedItems.unshift(firstItem[0]);\n break;\n }\n }\n return resortedItems;\n};\n","export const moveToLast = <T>(\n items: T[],\n condition: (item: T, i: number, items: T[]) => boolean\n): T[] => {\n const resortedItems = [...items];\n for (let i = 0; i < resortedItems.length; i++) {\n if (condition(resortedItems[i], i, resortedItems)) {\n let lastItem = resortedItems.splice(i, 1)[0];\n resortedItems.push(lastItem);\n break;\n }\n }\n return resortedItems;\n};\n","import { DateLike, Maybe } from \"../types\";\nimport { isEmpty } from \"../validators/isEmpty\";\nimport { isJsDate } from \"../validators/isJsDate\";\n\nexport const parseDate = (arg?: Maybe<DateLike>) => {\n if (isEmpty(arg)) return;\n\n const date = new Date(arg!);\n\n if (!isJsDate(date)) return;\n\n return date;\n};\n","export const pretty = (arg: any) => {\n return JSON.stringify(arg, null, 2);\n};\n","export const promiseWithTimeout = <T>(\n promise: () => Promise<T>,\n timeoutMs: number,\n error?: Error\n): Promise<T> => {\n let timeout: ReturnType<typeof setTimeout>;\n const timeoutPromise = new Promise<never>((_, reject) => {\n timeout = setTimeout(\n () => reject(error ?? new Error(\"Promise timed out\")),\n timeoutMs\n );\n });\n\n return Promise.race([promise(), timeoutPromise]).finally(() => {\n clearTimeout(timeout);\n });\n};\n","export const sleep = (timeMs: number): Promise<void> => {\n return new Promise((resolve) => {\n setTimeout(resolve, timeMs);\n });\n};\n","import { isArray } from \"../validators\";\n\nexport const toggleArray = <T>(arg: T[], value: T) => {\n if (isArray<T>(arg)) {\n const copy: T[] = arg.reduce((acc: T[], val) => {\n if (val !== value) acc.push(val);\n return acc;\n }, []);\n if (copy.length === arg.length) copy.push(value);\n return copy;\n }\n\n return arg;\n};\n","import { isPositive } from \"../validators/isNumber\";\n\nexport const truncate = (arg: string, limit: number, ellipsis = \"...\") => {\n if (!isPositive(limit)) return arg;\n\n const argArray = [...arg]; // convert string to array, emoji and unicode safe\n\n if (argArray.length <= limit) return arg;\n\n return argArray.slice(0, limit).join(\"\") + ellipsis;\n};\n","export const UK_ADDRESSES = [\n {\n city: \"London\",\n country: \"United Kingdom\",\n street: \"Baker Street\",\n number: \"221B\",\n zip: \"NW1 6XE\",\n },\n {\n city: \"Birmingham\",\n country: \"United Kingdom\",\n street: \"Bordesley Street\",\n number: \"B1 1AA\",\n zip: \"B1 1AA\",\n },\n];\n\nexport const US_ADDRESSES = [\n {\n city: \"New York\",\n country: \"United States\",\n street: \"Broadway\",\n number: \"42\",\n zip: \"10036\",\n },\n {\n city: \"Los Angeles\",\n country: \"United States\",\n street: \"Hollywood Boulevard\",\n number: \"6801\",\n zip: \"90028\",\n },\n];\n\nexport const EUROPE_ADDRESSES = [\n {\n city: \"Paris\",\n country: \"France\",\n street: \"Rue de Rivoli\",\n number: \"75001\",\n zip: \"75001\",\n },\n {\n city: \"Berlin\",\n country: \"Germany\",\n street: \"Unter den Linden\",\n number: \"10117\",\n zip: \"10117\",\n },\n {\n city: \"Rome\",\n country: \"Italy\",\n street: \"Via del Corso\",\n number: \"00186\",\n zip: \"00186\",\n },\n {\n city: \"Madrid\",\n country: \"Spain\",\n street: \"Gran Vía\",\n number: \"28013\",\n zip: \"28013\",\n },\n];\n\nexport const MIXED_ADDRESSES = [\n {\n city: \"Moscow\",\n country: \"Russia\",\n street: \"Tverskaya\",\n number: \"101000\",\n zip: \"101000\",\n },\n {\n city: \"Tokyo\",\n country: \"Japan\",\n street: \"Shinjuku\",\n number: \"160-0022\",\n zip: \"160-0022\",\n },\n {\n city: \"Beijing\",\n country: \"China\",\n street: \"Changan\",\n number: \"100005\",\n zip: \"100005\",\n },\n {\n city: \"Cairo\",\n country: \"Egypt\",\n street: \"Al-Muizz\",\n number: \"11511\",\n\n zip: \"11511\",\n },\n {\n city: \"Buenos Aires\",\n country: \"Argentina\",\n street: \"Avenida de Mayo\",\n number: \"1002\",\n zip: \"C1006AAQ\",\n },\n {\n city: \"Cape Town\",\n country: \"South Africa\",\n street: \"Adderley\",\n number: \"7700\",\n zip: \"7700\",\n },\n {\n city: \"Sydney\",\n country: \"Australia\",\n street: \"George\",\n number: \"2000\",\n zip: \"2000\",\n },\n {\n city: \"Rio de Janeiro\",\n country: \"Brazil\",\n street: \"Av. Presidente Vargas\",\n number: \"20021-000\",\n zip: \"20021-000\",\n },\n {\n city: \"Mexico City\",\n country: \"Mexico\",\n street: \"Paseo de la Reforma\",\n number: \"06500\",\n zip: \"06500\",\n },\n];\n\nexport const ADDRESSES = [\n ...UK_ADDRESSES,\n ...US_ADDRESSES,\n ...EUROPE_ADDRESSES,\n ...MIXED_ADDRESSES,\n];\n\nexport const CITIES = [\n \"London\",\n \"Birmingham\",\n \"New York\",\n \"Los Angeles\",\n \"Paris\",\n \"Berlin\",\n \"Rome\",\n \"Madrid\",\n \"Moscow\",\n \"Tokyo\",\n \"Beijing\",\n \"Cairo\",\n \"Buenos Aires\",\n \"Cape Town\",\n \"Sydney\",\n \"Rio de Janeiro\",\n \"Mexico City\",\n];\n\nexport const US_STATE_CODE_SAMPLES = [\n \"AL\",\n \"AK\",\n \"AZ\",\n \"AR\",\n \"CA\",\n \"CO\",\n \"CT\",\n \"DE\",\n \"FL\",\n \"GA\",\n \"HI\",\n];\n\nexport const ZIP_SAMPLES = [\n \"10036\",\n \"90028\",\n \"75001\",\n \"10117\",\n \"00186\",\n \"28013\",\n \"101000\",\n];\n","export const randomInt = (start: number = -100, end: number = 100): number =>\n Math.floor(Math.random() * (end - start + 1) + start);\n\nexport const randomPositiveInt = (end: number = 100): number =>\n randomInt(1, end);\n\nexport const randomNegativeInt = (start: number = -100): number =>\n randomInt(start, -1);\n\nexport const randomMaxSafeInt = () =>\n randomInt(-Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n\nexport const randomMaxInt = () =>\n randomInt(-Number.MAX_VALUE, Number.MAX_VALUE);\n\nexport const randomPercentage = () => randomInt(-100, 100);\n","import { randomInt } from \"./randomInt\";\n\nexport const randomArrayItem = <T>(array: T[]): T => {\n return array[randomInt(0, array.length - 1)];\n};\n","import { ADDRESSES } from \"../constants/addresses\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomAddress = () => {\n return randomArrayItem(ADDRESSES);\n};\n","import { array } from \"../helpers/array\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\n//avoid 0s and Os as they get confused with each other\nconst chars = \"123456789ABCDEFGHIJKLMNPQRSTUVWXYZ\".split(\"\");\n\n/**\n * Generates a random alphanumeric code that can be used for verification codes, etc.\n * Does not contain 0s or Os as they get confused with each other.\n * @param length The length of the code to generate.\n * @returns A random alphanumeric code.\n * @example\n * randomAlphaNumericCode(); => \"A2G4G6\"\n */\nexport const randomAlphaNumericCode = ({\n length = 6,\n}: { length?: number } = {}) => {\n if (length < 1)\n throw new Error(\"randomAlphaNumericCode: Length must be greater than 0.\");\n\n return array(length, () => randomArrayItem(chars)).join(\"\");\n};\n","import { randomInt } from \"./randomInt\";\n\nexport const randomBool = () => !!randomInt(0, 1);\n","import { isValue } from \"../validators/isValue\";\n\n// Max js digits is theoretically 17, but is actually 16, see Math.random output.\nexport const JS_MAX_DIGITS = 16;\n\n// TODO: with big numbers there will be less digits\nexport const randomFloat = (\n min: number = -9,\n max: number = 9,\n decimals?: number // toFixed accepts max 100 anyway... even if the docs say 20\n) => {\n const float = Math.random() * (max - min) + min;\n\n if (isValue(decimals)) return parseFloat(float.toFixed(decimals));\n\n return float;\n};\n\n// TODO: randomBigFloat\n","import { Coords } from \"../types\";\nimport { randomFloat } from \"./randomFloat\";\n\nexport const randomCoords = (): Coords => {\n return {\n lat: randomLat(),\n lng: randomLng(),\n };\n};\n\nexport const randomLat = () => {\n return randomFloat(-90, 90);\n};\n\nexport const randomLng = () => {\n return randomFloat(-180, 180);\n};\n","import {\n MILLISECONDS_IN_DECADE,\n MAX_DATE_MILLISECONDS,\n MILLISECONDS_IN_MINUTE,\n} from \"../constants/time\";\n\nexport const randomDate = (start?: Date, end?: Date) => {\n const startDate = start || new Date(-MILLISECONDS_IN_DECADE);\n const endDate = end || new Date(MILLISECONDS_IN_DECADE);\n return new Date(\n startDate.getTime() +\n Math.random() * (endDate.getTime() - startDate.getTime())\n );\n};\n\nexport const randomMaxDate = (start?: Date, end?: Date) => {\n const startDate = start || new Date(-MAX_DATE_MILLISECONDS);\n const endDate = end || new Date(MAX_DATE_MILLISECONDS);\n return randomDate(startDate, endDate);\n};\n\nexport const randomFutureDate = () => {\n // Add a safe margin in the future (i.e. lagging tests). About 5 minutes is enough.\n const safeNow = new Date(new Date().getTime() + 5 * MILLISECONDS_IN_MINUTE);\n return randomDate(safeNow);\n};\n\nexport const randomPastDate = () => {\n return randomDate(undefined, new Date());\n};\n\nexport const randomDateRange = () => {\n const startDate = randomDate();\n const endDate = randomDate(startDate);\n\n return {\n endDate,\n startDate,\n };\n};\n","export const DOMAIN_NAMES = [\n \"gmail.com\",\n \"yahoo.com\",\n \"hotmail.com\",\n \"aol.com\",\n \"msn.com\",\n \"comcast.net\",\n \"live.com\",\n \"sbcglobal.net\",\n \"verizon.net\",\n \"att.net\",\n \"mac.com\",\n \"me.com\",\n \"earthlink.net\",\n \"charter.net\",\n \"shaw.ca\",\n \"yahoo.ca\",\n \"googlemail.com\",\n \"mail.com\",\n \"qq.com\",\n \"web.de\",\n \"gmx.de\",\n \"mail.ru\",\n];\n","export const ANIMAL_NAMES = [\n \"Aardvark\",\n \"Albatross\",\n \"Alligator\",\n \"Alpaca\",\n \"Ant\",\n \"Anteater\",\n \"Antelope\",\n \"Ape\",\n];\n\nexport const TOOL_NAMES = [\n \"Axe\",\n \"Ball Peen Hammer\",\n \"Band Saw\",\n \"Bench Grinder\",\n \"Biscuit Joiner\",\n \"Bolt Cutter\",\n \"Boring Machine\",\n \"Bow Saw\",\n];\n\nexport const LATIN_FIRST_NAMES = [\n \"Adam\",\n \"Adrian\",\n \"Alan\",\n \"Albert\",\n \"Alexander\",\n \"Alice\",\n \"Amanda\",\n \"Emma\",\n \"Amelia\",\n \"Amy\",\n \"Andrew\",\n \"Esther\",\n \"Olivia\",\n \"Ruby\",\n];\n\nexport const LATIN_LAST_NAMES = [\n \"Smith\",\n \"Johnson\",\n \"Williams\",\n \"Jones\",\n \"Brown\",\n \"Davis\",\n \"Miller\",\n \"Wilson\",\n \"Moore\",\n \"Taylor\",\n \"Anderson\",\n \"Thomas\",\n \"Jackson\",\n \"White\",\n];\n\nexport const CYRILLIC_FIRST_NAMES = [\n \"Абигаил\",\n \"Адам\",\n \"Адриан\",\n \"Агнес\",\n \"Алан\",\n \"Альберт\",\n \"Александр\",\n \"Алиса\",\n \"Аманда\",\n \"Амелия\",\n \"Эми\",\n \"Эндрю\",\n];\n\nexport const CYRILLIC_LAST_NAMES = [\n \"Смит\",\n \"Джонсон\",\n \"Уильямс\",\n \"Джонс\",\n \"Браун\",\n \"Дэвис\",\n \"Миллер\",\n \"Вилсон\",\n \"Мур\",\n \"Тейлор\",\n \"Андерсон\",\n \"Томас\",\n \"Джексон\",\n \"Уайт\",\n];\n\nexport const JAPANESE_FIRST_NAMES = [\n \"アビゲイル\",\n \"アダム\",\n \"アドリアン\",\n \"アグネス\",\n \"アラン\",\n \"アルバート\",\n \"アレクサンダー\",\n \"アリス\",\n \"アマンダ\",\n \"アメリア\",\n \"アミー\",\n \"アンドリュー\",\n];\n\nexport const JAPANESE_LAST_NAMES = [\n \"スミス\",\n \"ジョンソン\",\n \"ウィリアムズ\",\n \"ジョーンズ\",\n \"ブラウン\",\n \"デイビス\",\n \"ミラー\",\n \"ウィルソン\",\n \"モア\",\n \"タイラー\",\n \"アンダーソン\",\n \"トーマス\",\n \"ジャクソン\",\n \"ホワイト\",\n];\n\nexport const ARABIC_FIRST_NAMES = [\n \"أبيجيل\",\n \"آدم\",\n \"آدريان\",\n \"أغنيس\",\n \"آلان\",\n \"آلبرت\",\n \"ألكسندر\",\n \"آليس\",\n \"آماندا\",\n \"آميليا\",\n \"آمي\",\n \"أندرو\",\n];\n\nexport const ARABIC_LAST_NAMES = [\n \"سميث\",\n \"جونسون\",\n \"ويليامز\",\n \"جونز\",\n \"براون\",\n \"ديفيس\",\n \"ميلر\",\n \"ويلسون\",\n \"مور\",\n \"تايلور\",\n \"أندرسون\",\n \"توماس\",\n \"جاكسون\",\n \"وايت\",\n];\n\nexport const FIRST_NAMES = [\n ...LATIN_FIRST_NAMES,\n ...CYRILLIC_FIRST_NAMES,\n ...JAPANESE_FIRST_NAMES,\n ...ARABIC_FIRST_NAMES,\n];\n\nexport const LAST_NAMES = [\n ...LATIN_LAST_NAMES,\n ...CYRILLIC_LAST_NAMES,\n ...JAPANESE_LAST_NAMES,\n ...ARABIC_LAST_NAMES,\n];\n","import { LATIN_FIRST_NAMES, LATIN_LAST_NAMES } from \"../constants/names\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomInt } from \"./randomInt\";\n\nexport const randomHandle = () =>\n (\n randomArrayItem(LATIN_FIRST_NAMES) +\n \".\" +\n randomArrayItem(LATIN_LAST_NAMES)\n ).toLowerCase() + randomInt(11, 99);\n","import { DOMAIN_NAMES } from \"../constants/domains\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomHandle } from \"./randomHandle\";\n\n//Use randomId() to generate a unique email\nexport const randomEmail = () =>\n `${randomHandle()}@${randomArrayItem(DOMAIN_NAMES)}`;\n","export const EMOJI_SAMPLE = [\n \"😀\",\n \"😁\",\n \"😂\",\n \"🤣\",\n \"😃\",\n \"😄\",\n \"😅\",\n \"😆\",\n \"😉\",\n \"😊\",\n \"😋\",\n \"😎\",\n \"😍\",\n \"😘\",\n \"😗\",\n \"😙\",\n];\n\nexport const SPECIAL_CHARACTERS = [\"!\", \"@\", \"#\", \"$\", \"%\", \"^\", \"&\", \"*\"];\n","import { EMOJI_SAMPLE } from \"../constants/unicode\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEmoji = () => {\n return randomArrayItem(EMOJI_SAMPLE);\n};\n","import { isNumeric } from \"../validators/isNumeric\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEnumKey = <T extends object>(enumObject: T): keyof T => {\n return randomArrayItem(\n Object.keys(enumObject).filter((key) => !isNumeric(key)) // key cannot be a number\n ) as keyof T;\n};\n","import { isKey } from \"../validators/isKey\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEnumValue = <T extends object>(\n enumObject: T\n): T[keyof T] => {\n let values: T[keyof T][] = [];\n\n Object.values(enumObject).forEach((value) => {\n // types are tricky here because the value is used also to check if exists as a key\n if (isKey(value, enumObject) && !values.includes(value as T[keyof T]))\n values.push(enumObject[value as keyof T]);\n });\n\n return randomArrayItem(values);\n};\n","export const VERBS = [\n \"abide\",\n \"abound\",\n \"accept\",\n \"accomplish\",\n \"achieve\",\n \"acquire\",\n \"act\",\n \"adapt\",\n \"add\",\n \"adjust\",\n \"admire\",\n \"admit\",\n \"adopt\",\n \"advance\",\n \"advise\",\n \"afford\",\n \"agree\",\n \"alert\",\n \"allow\",\n \"be\",\n \"go\",\n \"need\",\n \"work\",\n];\n\nexport const NOUNS = [\n \"abandon\",\n \"ability\",\n \"able\",\n \"abortion\",\n \"about\",\n \"above\",\n \"abroad\",\n \"absence\",\n \"absent\",\n \"absolute\",\n];\n\nexport const ADJECTIVES = [\n \"abandoned\",\n \"abdominal\",\n \"ability\",\n \"able\",\n \"abnormal\",\n \"abolish\",\n \"abortion\",\n \"about\",\n \"above\",\n \"abroad\",\n \"absence\",\n \"absent\",\n \"absolute\",\n];\n\nexport const ADVERBS = [\n \"abnormally\",\n \"aboard\",\n \"absentmindedly\",\n \"absolutely\",\n \"absurdly\",\n \"abundantly\",\n \"abysmally\",\n \"academically\",\n \"acceleratedly\",\n \"accentually\",\n \"acceptably\",\n \"accessibly\",\n \"accidentally\",\n \"accommodatingly\",\n];\n\nexport const LONG_WORDS = [\n \"Pneumonoultramicroscopicsilicovolcanoconiosis\",\n \"Floccinaucinihilipilification\",\n \"Pseudopseudohypoparathyroidism\",\n \"Hippopotomonstrosesquippedaliophobia\",\n \"Antidisestablishmentarianism\",\n \"Supercalifragilisticexpialidocious\",\n \"Honorificabilitudinitatibus\",\n];\n\nexport const JS_RESERVED_WORDS = [\n \"abstract\",\n \"arguments\",\n \"await\",\n \"boolean\",\n \"break\",\n \"byte\",\n \"case\",\n \"catch\",\n \"char\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"double\",\n \"else\",\n \"enum*\",\n \"eval\",\n \"export\",\n \"extends\",\n \"false\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"function\",\n \"goto\",\n \"if\",\n \"implements\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"int\",\n \"interface\",\n \"let\",\n \"long\",\n \"native\",\n \"new\",\n \"null\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"return\",\n \"short\",\n \"static\",\n \"super\",\n \"switch\",\n \"synchronized\",\n \"this\",\n \"throw\",\n \"throws\",\n \"transient\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"volatile\",\n \"while\",\n \"with\",\n \"yield\",\n];\n\nexport const HTML_COLOR_NAME_SAMPLES = [\n \"AliceBlue\",\n \"Aqua\",\n \"Aquamarine\",\n \"Azure\",\n \"Beige\",\n \"Bisque\",\n \"Black\",\n \"Blue\",\n \"BlueViolet\",\n \"Brown\",\n \"BurlyWood\",\n \"CadetBlue\",\n \"Chartreuse\",\n \"Chocolate\",\n \"Coral\",\n \"DarkSlateGray\",\n \"DeepPink\",\n \"Gold\",\n \"Lime\",\n \"Olive\",\n \"Orchid\",\n \"Salmon\",\n \"Turquoise\",\n];\n\nexport const WORDS = [\n ...VERBS,\n ...NOUNS,\n ...ADJECTIVES,\n ...ADVERBS,\n ...LONG_WORDS,\n];\n","import { WORDS } from \"../constants/words\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomWord = () => {\n return randomArrayItem(WORDS);\n};\n","import { array } from \"../helpers\";\nimport { capitalize } from \"../helpers/capitalize\";\nimport { randomWord } from \"./randomWord\";\n\nexport const randomParagraph = () => {\n return capitalize(array(8, () => randomWord()).join(\" \")) + \".\";\n};\n","import { randomArrayItem } from \"./randomArrayItem\";\nimport { randomParagraph } from \"./randomParagraph\";\nimport { randomWord } from \"./randomWord\";\n\nconst fileExtensions = [\"png\", \"jpg\", \"jpeg\", \"gif\", \"svg\", \"webp\"];\n\n// This is a client only function\nexport const randomFile = ({\n name,\n extension,\n}: {\n name?: string;\n extension?: string;\n} = {}): File | undefined => {\n if (typeof File === \"undefined\") return undefined;\n\n const _extension = extension || randomArrayItem(fileExtensions);\n return new File(\n [randomParagraph()], // TODO: Use random char string\n `${name || randomWord()}.${_extension}`,\n {\n type: `image/${_extension}`,\n }\n );\n};\n","export const HEX_VALUES = [\n \"0\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n];\n","import { HEX_VALUES } from \"../constants/hex\";\nimport { array } from \"../helpers\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHexColor = () => {\n return \"#\" + array(6, () => randomArrayItem(HEX_VALUES)).join(\"\");\n};\n","import { HEX_VALUES } from \"../constants/hex\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHexValue = () => {\n return randomArrayItem(HEX_VALUES);\n};\n","import { HTML_COLOR_NAME_SAMPLES } from \"../constants/words\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHtmlColorName = () => {\n return randomArrayItem(HTML_COLOR_NAME_SAMPLES);\n};\n","export const IBAN_SAMPLES = [\n \"AD1200012030200359100100\",\n \"BA391290079401028494\",\n \"BE68539007547034\",\n \"BG80BNBG96611020345678\",\n \"BH67BMAG00001299123456\",\n \"BY13NBRB3600900000002Z00AB00\",\n \"CH9300762011623852957\",\n \"CR05015202001026284066\",\n \"CY17002001280000001200527600\",\n \"CZ6508000000192000145399\",\n \"DE89370400440532013000\",\n \"DO28BAGR00000001212453611324\",\n \"EE382200221020145685\",\n \"ES9121000418450200051332\",\n \"FI2112345600000785\",\n \"FO6264600001631634\",\n \"FR1420041010050500013M02606\",\n \"GB29NWBK60161331926819\",\n \"GE29NB0000000101904917\",\n];\n\nexport const BIC_SWIFT_SAMPLES = [\n \"ABNANL2A\",\n \"BKENGB2LXXX\",\n \"BUKBGB22\",\n \"CITIUS33\",\n \"CITIUS33XXX\",\n \"CSCHUS6SXXX\",\n \"NOSCCATTXXX\",\n];\n\nexport const CARD_NUMBER_SAMPLES = [\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n];\n\n//An ABA routing number is a nine-digit code that identifies banks in the U.S.\nexport const ABA_NUMBER_SAMPLES = [\n \"111000025\",\n \"081000210\",\n \"104000029\",\n \"091300023\",\n \"123000220\",\n];\n\nexport const ROUTING_NUMBER_SAMPLES = [\n \"637530215\",\n \"130436324\",\n \"611531133\",\n \"865673685\",\n];\n\nexport const BANK_ACCOUNT_NUMBER_SAMPLES = [\n \"64766774\",\n \"39526009\",\n \"25048213\",\n \"72796383\",\n];\n\nexport const VAT_REGISTRATION_NUMBER_SAMPLES = [\n \"IE1234567T\",\n \"GB123456789\",\n \"XI123456789\",\n];\n\nexport const SORT_CODE_SAMPLES = [\"100000\", \"902127\", \"800551\"];\n\nexport const SSN_SAMPLES = [\"235-55-7216\", \"372-37-3976\", \"414-99-6488\"];\n\nexport const BANK_NAME_SAMPLES = [\n \"Bank of England\",\n \"Bank of Ireland\",\n \"Bank of Scotland\",\n \"Bank of America\",\n];\n\nexport const COMPANY_NAME_SAMPLES = [\n \"Acme Inc.\",\n \"Acme Corp.\",\n \"Acme Ltd.\",\n \"Acme LLC\",\n \"Umbrella Corp.\",\n \"Umbrella Inc.\",\n \"Umbrella Ltd.\",\n \"Umbrella LLC\",\n];\n","import { IBAN_SAMPLES } from \"../constants/banking\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomIBAN = () => {\n return randomArrayItem(IBAN_SAMPLES);\n};\n","import { randomInt } from \"./randomInt\";\n\nexport const randomIP = () => {\n return `${randomInt(0, 255).toString()}.${randomInt(\n 0,\n 255\n ).toString()}.${randomInt(0, 255).toString()}.${randomInt(\n 0,\n 255\n ).toString()}`;\n};\n","import {\n ANIMAL_NAMES,\n FIRST_NAMES,\n LAST_NAMES,\n LATIN_FIRST_NAMES,\n LATIN_LAST_NAMES,\n TOOL_NAMES,\n} from \"../constants/names\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomName = () =>\n randomArrayItem([...ANIMAL_NAMES, ...TOOL_NAMES]);\n\nexport const randomFirstName = () => randomArrayItem(FIRST_NAMES);\n\nexport const randomLastName = () => randomArrayItem(LAST_NAMES);\n\nexport const randomFullName = () =>\n randomArrayItem(LATIN_FIRST_NAMES) + \" \" + randomArrayItem(LATIN_LAST_NAMES);\n","import { array } from \"../helpers/array\";\nimport { randomInt } from \"./randomInt\";\n\n/**\n * Generates a random numeric code that can be used for verification codes, etc.\n * Does not start with 0.\n * @param length The length of the code to generate.\n * @returns A random numeric code.\n * @example\n * randomNumericCode(); => \"123456\"\n * @example\n * randomNumericCode({ length: 4 }); => \"1234\"\n */\nexport const randomNumericCode = ({ length = 6 }: { length?: number } = {}) => {\n if (length < 1)\n throw new Error(\"randomNumericCode: Length must be greater than 0.\");\n\n return array(length, (_, index) => randomInt(!index ? 1 : 0, 9)).join(\"\");\n};\n","let id = 1; // don't start with 0, to be closer to SQL autoincrement\n\nexport const randomNumericId = () => {\n return id++;\n};\n","import { SPECIAL_CHARACTERS } from \"../constants/unicode\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomHtmlColorName } from \"./randomHtmlColorName\";\nimport { randomInt } from \"./randomInt\";\n\nexport const randomPassword = () =>\n randomHtmlColorName() + // So it has an upper case\n randomArrayItem(SPECIAL_CHARACTERS) + // So it has a special character\n randomInt(11, 99); // So it has a number\n","import { randomNumericId } from \"./randomNumericId\";\n\n/**\n * This is a light-weight version of the `generateUuid` function\n * To be used only for test purposed and NOT for production\n * Leave 0s, so it gets immediately recognized as a fake uuid\n *\n * /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i\n */\nexport const randomUUID = () => {\n const id = randomNumericId().toString().padStart(15, \"0\");\n const digit12 = id.substring(0, 12);\n const digit3 = id.substring(12, 15);\n return `00000000-0000-1000-8${digit3}-${digit12}`;\n};\n"]}
1
+ {"version":3,"sources":["../src/helpers/array.ts","../src/helpers/capitalize.ts","../src/helpers/clamp.ts","../src/helpers/cleanSpaces.ts","../src/helpers/first.ts","../src/helpers/getKeys.ts","../src/helpers/last.ts","../src/validators/isArray.ts","../src/validators/isBoolean.ts","../src/validators/isServer.ts","../src/validators/isClient.ts","../src/validators/isBrowser.ts","../src/validators/isString.ts","../src/validators/isEmail.ts","../src/validators/isObject.ts","../src/validators/isEmpty.ts","../src/validators/isFunction.ts","../src/validators/isJsDate.ts","../src/validators/isKey.ts","../src/validators/isNumber.ts","../src/validators/isNumeric.ts","../src/validators/isPromise.ts","../src/validators/isPWA.ts","../src/validators/isReactElement.ts","../src/validators/isRegExp.ts","../src/validators/isStringDate.ts","../src/validators/isUndefined.ts","../src/validators/isURL.ts","../src/validators/isUUID.ts","../src/validators/isValue.ts","../src/helpers/merge.ts","../src/helpers/moveToFirst.ts","../src/helpers/moveToLast.ts","../src/helpers/parseDate.ts","../src/helpers/pretty.ts","../src/helpers/promiseWithTimeout.ts","../src/helpers/sleep.ts","../src/helpers/toggleArray.ts","../src/helpers/truncate.ts","../src/constants/addresses.ts","../src/random/randomInt.ts","../src/random/randomArrayItem.ts","../src/random/randomAddress.ts","../src/random/randomAlphaNumericCode.ts","../src/random/randomBool.ts","../src/random/randomFloat.ts","../src/random/randomCoords.ts","../src/random/randomDate.ts","../src/constants/domains.ts","../src/constants/names.ts","../src/random/randomHandle.ts","../src/random/randomEmail.ts","../src/constants/unicode.ts","../src/random/randomEmoji.ts","../src/random/randomEnumKey.ts","../src/random/randomEnumValue.ts","../src/constants/words.ts","../src/random/randomWord.ts","../src/random/randomParagraph.ts","../src/random/randomFile.ts","../src/constants/hex.ts","../src/random/randomHexColor.ts","../src/random/randomHexValue.ts","../src/random/randomHtmlColorName.ts","../src/constants/banking.ts","../src/random/randomIBAN.ts","../src/random/randomIP.ts","../src/random/randomName.ts","../src/random/randomNumericCode.ts","../src/random/randomNumericId.ts","../src/random/randomPassword.ts","../src/random/randomUUID.ts"],"names":["array","length","mapFn","capitalize","string","clamp","number","min","max","cleanSpaces","str","first","arr","getKeys","arg","getEnumerableOwnPropertySymbols","symbol","last","isArray","isBoolean","isServer","isClient","isBrowser","isString","isEmail","isObject","isEmpty","isEmptyObject","isEmptyArray","isEmptyString","isFunction","isJsDate","isKey","key","obj","isInt","isEven","isOdd","isPositive","isNegative","isNumber","isNumeric","num","isPromise","isPWA","canUseSymbol","REACT_ELEMENT_TYPE","isReactElement","value","isRegExp","isStringDate","date","isUndefined","pattern","isURL","isUUID","isValue","merge","target","source","merger","moveToFirst","items","condition","resortedItems","i","firstItem","moveToLast","lastItem","parseDate","pretty","promiseWithTimeout","promise","timeoutMs","error","timeout","timeoutPromise","_","reject","sleep","timeMs","resolve","toggleArray","copy","acc","val","truncate","limit","ellipsis","argArray","UK_ADDRESSES","US_ADDRESSES","EUROPE_ADDRESSES","MIXED_ADDRESSES","ADDRESSES","randomInt","start","end","randomPositiveInt","randomNegativeInt","randomMaxSafeInt","randomMaxInt","randomPercentage","randomArrayItem","randomAddress","chars","randomAlphaNumericCode","randomBool","JS_MAX_DIGITS","randomFloat","decimals","float","randomCoords","randomLat","randomLng","randomDate","startDate","endDate","randomMaxDate","randomFutureDate","safeNow","randomPastDate","randomDateRange","DOMAIN_NAMES","ANIMAL_NAMES","TOOL_NAMES","LATIN_FIRST_NAMES","LATIN_LAST_NAMES","CYRILLIC_FIRST_NAMES","CYRILLIC_LAST_NAMES","JAPANESE_FIRST_NAMES","JAPANESE_LAST_NAMES","ARABIC_FIRST_NAMES","ARABIC_LAST_NAMES","FIRST_NAMES","LAST_NAMES","randomHandle","randomEmail","EMOJI_SAMPLE","SPECIAL_CHARACTERS","randomEmoji","randomEnumKey","enumObject","randomEnumValue","values","VERBS","NOUNS","ADJECTIVES","ADVERBS","LONG_WORDS","HTML_COLOR_NAME_SAMPLES","WORDS","randomWord","randomParagraph","fileExtensions","randomFile","name","extension","_extension","HEX_VALUES","randomHexColor","randomHexValue","randomHtmlColorName","IBAN_SAMPLES","randomIBAN","randomIP","randomName","randomFirstName","randomLastName","randomFullName","randomNumericCode","index","id","randomNumericId","randomPassword","randomUUID","digit12"],"mappings":"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IlC,UAAAA,CACF,CACF,ECvCO,IAAMO,EAAe,CAC1B,YACA,YACA,cACA,UACA,UACA,cACA,WACA,gBACA,cACA,UACA,UACA,SACA,gBACA,cACA,UACA,WACA,iBACA,WACA,SACA,SACA,SACA,SACF,ECvBO,IAAMC,EAAe,CAC1B,WACA,YACA,YACA,SACA,MACA,WACA,WACA,KACF,EAEaC,EAAa,CACxB,MACA,mBACA,WACA,gBACA,iBACA,cACA,iBACA,SACF,EAEaC,EAAoB,CAC/B,OACA,SACA,OACA,SACA,YACA,QACA,SACA,OACA,SACA,MACA,SACA,SACA,SACA,MACF,EAEaC,EAAmB,CAC9B,QACA,UACA,WACA,QACA,QACA,QACA,SACA,SACA,QACA,SACA,WACA,SACA,UACA,OACF,EAEaC,GAAuB,CAClC,6CACA,2BACA,uCACA,iCACA,2BACA,6CACA,yDACA,iCACA,uCACA,uCACA,qBACA,gCACF,EAEaC,GAAsB,CACjC,2BACA,6CACA,6CACA,iCACA,iCACA,iCACA,uCACA,uCACA,qBACA,uCACA,mDACA,iCACA,6CACA,0BACF,EAEaC,GAAuB,CAClC,iCACA,qBACA,iCACA,2BACA,qBACA,iCACA,6CACA,qBACA,2BACA,2BACA,qBACA,sCACF,EAEaC,GAAsB,CACjC,qBACA,iCACA,uCACA,iCACA,2BACA,2BACA,qBACA,iCACA,eACA,2BACA,uCACA,2BACA,iCACA,0BACF,EAEaC,GAAqB,CAChC,uCACA,qBACA,uCACA,iCACA,2BACA,iCACA,6CACA,2BACA,uCACA,uCACA,qBACA,gCACF,EAEaC,GAAoB,CAC/B,2BACA,uCACA,6CACA,2BACA,iCACA,iCACA,2BACA,uCACA,qBACA,uCACA,6CACA,iCACA,uCACA,0BACF,EAEaC,EAAc,CACzB,GAAGR,EACH,GAAGE,GACH,GAAGE,GACH,GAAGE,EACL,EAEaG,EAAa,CACxB,GAAGR,EACH,GAAGE,GACH,GAAGE,GACH,GAAGE,EACL,EChKO,IAAMG,EAAe,KAExBjC,EAAgBuB,CAAiB,EACjC,IACAvB,EAAgBwB,CAAgB,GAChC,YAAY,EAAIhC,EAAU,GAAI,EAAE,ECJ7B,IAAM0C,GAAc,IACzB,GAAGD,EAAa,KAAKjC,EAAgBoB,CAAY,ICN5C,IAAMe,EAAe,CAC1B,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,YACA,WACF,EAEaC,EAAqB,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAG,EChBlE,IAAMC,GAAc,IAClBrC,EAAgBmC,CAAY,ECD9B,IAAMG,GAAmCC,GACvCvC,EACL,OAAO,KAAKuC,CAAU,EAAE,OAAQ7G,GAAQ,CAACQ,EAAUR,CAAG,CAAC,CACzD,ECHK,IAAM8G,GACXD,GACe,CACf,IAAIE,EAAuB,CAAC,EAE5B,cAAO,OAAOF,CAAU,EAAE,QAAS9F,GAAU,CAEvChB,EAAMgB,EAAO8F,CAAU,GAAK,CAACE,EAAO,SAAShG,CAAmB,GAClEgG,EAAO,KAAKF,EAAW9F,CAAgB,CAAC,CAC5C,CAAC,EAEMuD,EAAgByC,CAAM,CAC/B,ECfO,IAAMC,GAAQ,CACnB,QACA,SACA,SACA,aACA,UACA,UACA,MACA,QACA,MACA,SACA,SACA,QACA,QACA,UACA,SACA,SACA,QACA,QACA,QACA,KACA,KACA,OACA,MACF,EAEaC,GAAQ,CACnB,UACA,UACA,OACA,WACA,QACA,QACA,SACA,UACA,SACA,UACF,EAEaC,GAAa,CACxB,YACA,YACA,UACA,OACA,WACA,UACA,WACA,QACA,QACA,SACA,UACA,SACA,UACF,EAEaC,GAAU,CACrB,aACA,SACA,iBACA,aACA,WACA,aACA,YACA,eACA,gBACA,cACA,aACA,aACA,eACA,iBACF,EAEaC,GAAa,CACxB,gDACA,gCACA,iCACA,uCACA,+BACA,qCACA,6BACF,EAqEO,IAAMC,EAA0B,CACrC,YACA,OACA,aACA,QACA,QACA,SACA,QACA,OACA,aACA,QACA,YACA,YACA,aACA,YACA,QACA,gBACA,WACA,OACA,OACA,QACA,SACA,SACA,WACF,EAEaC,EAAQ,CACnB,GAAGN,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,EACL,EClLO,IAAMG,EAAa,IACjBjD,EAAgBgD,CAAK,ECAvB,IAAME,EAAkB,IACtBtJ,EAAWH,EAAM,EAAG,IAAMwJ,EAAW,CAAC,EAAE,KAAK,GAAG,CAAC,EAAI,ICD9D,IAAME,GAAiB,CAAC,MAAO,MAAO,OAAQ,MAAO,MAAO,MAAM,EAGrDC,GAAa,CAAC,CACzB,KAAAC,EACA,UAAAC,CACF,EAGI,CAAC,IAAwB,CAC3B,GAAI,OAAO,MAAS,YAAa,OAEjC,IAAMC,EAAaD,GAAatD,EAAgBmD,EAAc,EAC9D,OAAO,IAAI,KACT,CAACD,EAAgB,CAAC,EAClB,GAAGG,GAAQJ,EAAW,KAAKM,IAC3B,CACE,KAAM,SAASA,GACjB,CACF,CACF,ECxBO,IAAMC,EAAa,CACxB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GACF,ECbO,IAAMC,GAAiB,IACrB,IAAMhK,EAAM,EAAG,IAAMuG,EAAgBwD,CAAU,CAAC,EAAE,KAAK,EAAE,ECF3D,IAAME,GAAiB,IACrB1D,EAAgBwD,CAAU,ECD5B,IAAMG,EAAsB,IAC1B3D,EAAgB+C,CAAuB,ECJzC,IAAMa,EAAe,CAC1B,2BACA,uBACA,mBACA,yBACA,yBACA,+BACA,wBACA,yBACA,+BACA,2BACA,yBACA,+BACA,uBACA,2BACA,qBACA,qBACA,8BACA,yBACA,wBACF,ECjBO,IAAMC,GAAa,IACjB7D,EAAgB4D,CAAY,ECF9B,IAAME,GAAW,IACf,GAAGtE,EAAU,EAAG,GAAG,EAAE,SAAS,KAAKA,EACxC,EACA,GACF,EAAE,SAAS,KAAKA,EAAU,EAAG,GAAG,EAAE,SAAS,KAAKA,EAC9C,EACA,GACF,EAAE,SAAS,ICCN,IAAMuE,GAAa,IACxB/D,EAAgB,CAAC,GAAGqB,EAAc,GAAGC,CAAU,CAAC,EAErC0C,GAAkB,IAAMhE,EAAgB+B,CAAW,EAEnDkC,GAAiB,IAAMjE,EAAgBgC,CAAU,EAEjDkC,GAAiB,IAC5BlE,EAAgBuB,CAAiB,EAAI,IAAMvB,EAAgBwB,CAAgB,ECLtE,IAAM2C,GAAoB,CAAC,CAAE,OAAAzK,EAAS,CAAE,EAAyB,CAAC,IAAM,CAC7E,GAAIA,EAAS,EACX,MAAM,IAAI,MAAM,mDAAmD,EAErE,OAAOD,EAAMC,EAAQ,CAAC4E,EAAG8F,IAAU5E,EAAW4E,EAAY,EAAJ,EAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAC1E,EClBA,IAAIC,GAAK,EAEIC,EAAkB,IACtBD,KCEF,IAAME,GAAiB,IAC5BZ,EAAoB,EACpB3D,EAAgBoC,CAAkB,EAClC5C,EAAU,GAAI,EAAE,ECCX,IAAMgF,GAAa,IAAM,CAC9B,IAAMH,EAAKC,EAAgB,EAAE,SAAS,EAAE,SAAS,GAAI,GAAG,EAClDG,EAAUJ,EAAG,UAAU,EAAG,EAAE,EAElC,MAAO,uBADQA,EAAG,UAAU,GAAI,EAAE,KACMI,GAC1C","sourcesContent":["export const array = <U extends (...args: any) => any>(\n length: number,\n mapFn: U\n): ReturnType<U>[] => {\n return Array.from({ length }, mapFn);\n};\n","export const capitalize = (string: string) => {\n return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();\n};\n","export const clamp = ({\n number,\n min,\n max,\n}: {\n number: number;\n min: number;\n max: number;\n}) => {\n if (max < min && process.env.DEVERYTHING_WARNINGS) {\n console.warn(\"clamp: max < min\", { number, min, max });\n }\n\n if (number < min) {\n return min;\n }\n\n if (number > max) {\n return max;\n }\n\n return number;\n};\n","export const cleanSpaces = (str: string): string => {\n return str.trim().replace(/\\s{2,}/g, \" \");\n};\n","export const first = <T>(arr?: T[]): T | undefined => arr?.[0];\n","export const getKeys = (arg: object) => {\n return Object.keys(arg).concat(getEnumerableOwnPropertySymbols(arg));\n};\n\n// Object.keys does not return enumerable symbols\nexport const getEnumerableOwnPropertySymbols = (arg: object): any[] => {\n return Object.getOwnPropertySymbols\n ? Object.getOwnPropertySymbols(arg).filter(function (symbol) {\n return Object.propertyIsEnumerable.call(arg, symbol);\n })\n : [];\n};\n","export const last = <T>(arr?: T[]): T | undefined => arr?.[arr.length - 1];\n","export const isArray = <T>(arg?: any): arg is T[] => Array.isArray(arg);\n","export const isBoolean = (arg: any) =>\n Object.prototype.toString.call(arg) === \"[object Boolean]\";\n","export const isServer = () => typeof window === \"undefined\";\n","import { isServer } from \"./isServer\";\n\nexport const isClient = () => !isServer();\n","import { isClient } from \"./isClient\";\n\nexport const isBrowser = isClient;\n","export const isString = (arg: any) => typeof arg === \"string\";\n","import { isString } from \"./isString\";\n\nexport const isEmail = (arg: string) =>\n isString(arg) && /\\S+@\\S+\\.\\S+/.test(arg);\n","export const isObject = <T>(arg?: any): arg is Record<string, T> =>\n Object.prototype.toString.call(arg) === \"[object Object]\";\n","import { Maybe } from \"../types\";\nimport { isArray } from \"./isArray\";\nimport { isObject } from \"./isObject\";\nimport { isString } from \"./isString\";\n\nexport const isEmpty = (arg?: Maybe<any>) => {\n if (isEmptyObject(arg)) return true;\n if (isEmptyArray(arg)) return true;\n if (isEmptyString(arg)) return true;\n\n return arg === undefined || arg === null;\n};\n\nexport const isEmptyString = (arg: string) => {\n return isString(arg) && arg.trim().length === 0;\n};\n\nexport const isEmptyArray = (arg: any[]) => {\n return isArray(arg) && arg.length === 0;\n};\n\nexport const isEmptyObject = (arg: Object) => {\n return isObject(arg) && Object.keys(arg).length === 0;\n};\n","export const isFunction = (arg: any) =>\n Object.prototype.toString.call(arg) === \"[object Function]\";\n","export const isJsDate = (arg: Date): arg is Date =>\n Object.prototype.toString.call(arg) === \"[object Date]\" &&\n !isNaN(arg as unknown as number);\n","export const isKey = <T extends object>(\n key: string | number | symbol,\n obj: T\n): key is keyof T =>\n obj.hasOwnProperty(key) && // makes sure the prop is not in the prototype chain\n obj.propertyIsEnumerable(key); // makes sure the prop is not a getter/setter\n","export const isInt = (arg: number) => Number.isInteger(arg);\n\nexport const isEven = (arg: number) => isInt(arg) && !(arg % 2);\n\nexport const isOdd = (arg: number) => isInt(arg) && !!(arg % 2);\n\nexport const isPositive = (arg: number) => isInt(arg) && arg > 0;\n\nexport const isNegative = (arg: number) => isInt(arg) && arg < 0;\n\nexport const isNumber = (arg: any): arg is number => {\n return (\n Object.prototype.toString.apply(arg) === \"[object Number]\" && isFinite(arg)\n );\n};\n","export const isNumeric = (num: number | string): boolean => {\n return !isNaN(num as number); // isNaN DOES actually work with string-numbers!\n};\n","export const isPromise = (arg: any) => arg instanceof Promise;\n","import { isClient } from \"./isClient\";\n\nexport const isPWA = () => {\n return isClient() && window.matchMedia(\"(display-mode: standalone)\").matches; // credits to Narcis\n};\n","var canUseSymbol = typeof Symbol === \"function\" && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for(\"react.element\") : 0xeac7;\n\nexport const isReactElement = (value: any) => {\n return value.$$typeof === REACT_ELEMENT_TYPE;\n};\n","export const isRegExp = (arg: any): arg is RegExp =>\n Object.prototype.toString.call(arg) === \"[object RegExp]\";\n","import { isJsDate } from \"./isJsDate\";\n\nexport const isStringDate = (arg: string) => {\n const date = new Date(arg);\n return isJsDate(date);\n};\n","export const isUndefined = (arg: any) => typeof arg === \"undefined\";\n","const pattern = new RegExp(\n \"^(https?:\\\\/\\\\/)?\" + // protocol\n \"((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.?)+[a-z]{2,}|\" + // domain name\n \"((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))\" + // OR ip (v4) address\n \"(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*\" + // port and path\n \"(\\\\?[;&a-z\\\\d%_.~+=-]*)?\" + // query string\n \"(\\\\#[-a-z\\\\d_]*)?$\",\n \"i\"\n); // fragment locator\n\nexport const isURL = (arg: string) => {\n return !!arg && pattern.test(arg);\n};\n","export const isUUID = (arg: string) =>\n /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(\n arg\n );\n","import { Maybe } from \"../types\";\n\nexport const isValue = (arg?: Maybe<any>) => {\n return arg !== undefined && arg !== null && !Number.isNaN(arg);\n};\n","import { PlainObject } from \"../types\";\nimport { isKey, isObject } from \"../validators\";\nimport { getKeys } from \"./getKeys\";\n\n// Simple merge function that merges two objects, arrays get overwritten, no options\nexport const merge = (target: PlainObject, source: PlainObject) => {\n const merger: PlainObject = {};\n getKeys(target).forEach((key) => {\n merger[key] = isObject(target[key]) ? merge({}, target[key]) : target[key];\n });\n getKeys(source).forEach((key) => {\n if (isKey(key, target))\n merger[key] =\n isObject(target[key]) && isObject(source[key])\n ? merge(target[key], source[key])\n : source[key];\n else\n merger[key] = isObject(source[key])\n ? merge({}, source[key])\n : source[key];\n });\n return merger;\n};\n","export const moveToFirst = <T>(\n items: T[],\n condition: (item: T, i: number, items: T[]) => boolean\n): T[] => {\n const resortedItems = [...items];\n for (let i = 0; i < resortedItems.length; i++) {\n if (condition(resortedItems[i], i, resortedItems)) {\n let firstItem = resortedItems.splice(i, 1);\n resortedItems.unshift(firstItem[0]);\n break;\n }\n }\n return resortedItems;\n};\n","export const moveToLast = <T>(\n items: T[],\n condition: (item: T, i: number, items: T[]) => boolean\n): T[] => {\n const resortedItems = [...items];\n for (let i = 0; i < resortedItems.length; i++) {\n if (condition(resortedItems[i], i, resortedItems)) {\n let lastItem = resortedItems.splice(i, 1)[0];\n resortedItems.push(lastItem);\n break;\n }\n }\n return resortedItems;\n};\n","import { DateLike, Maybe } from \"../types\";\nimport { isEmpty } from \"../validators/isEmpty\";\nimport { isJsDate } from \"../validators/isJsDate\";\n\nexport const parseDate = (arg?: Maybe<DateLike>) => {\n if (isEmpty(arg)) return;\n\n const date = new Date(arg!);\n\n if (!isJsDate(date)) return;\n\n return date;\n};\n","export const pretty = (arg: any) => {\n return JSON.stringify(arg, null, 2);\n};\n","export const promiseWithTimeout = <T>(\n promise: () => Promise<T>,\n timeoutMs: number,\n error?: Error\n): Promise<T> => {\n let timeout: ReturnType<typeof setTimeout>;\n const timeoutPromise = new Promise<never>((_, reject) => {\n timeout = setTimeout(\n () => reject(error ?? new Error(\"Promise timed out\")),\n timeoutMs\n );\n });\n\n return Promise.race([promise(), timeoutPromise]).finally(() => {\n clearTimeout(timeout);\n });\n};\n","export const sleep = (timeMs: number): Promise<void> => {\n return new Promise((resolve) => {\n setTimeout(resolve, timeMs);\n });\n};\n","import { isArray } from \"../validators\";\n\nexport const toggleArray = <T>(arg: T[], value: T) => {\n if (isArray<T>(arg)) {\n const copy: T[] = arg.reduce((acc: T[], val) => {\n if (val !== value) acc.push(val);\n return acc;\n }, []);\n if (copy.length === arg.length) copy.push(value);\n return copy;\n }\n\n return arg;\n};\n","import { isPositive } from \"../validators/isNumber\";\n\nexport const truncate = (arg: string, limit: number, ellipsis = \"...\") => {\n if (!isPositive(limit)) return arg;\n\n const argArray = [...arg]; // convert string to array, emoji and unicode safe\n\n if (argArray.length <= limit) return arg;\n\n return argArray.slice(0, limit).join(\"\") + ellipsis;\n};\n","export const UK_ADDRESSES = [\n {\n city: \"London\",\n country: \"United Kingdom\",\n street: \"Baker Street\",\n number: \"221B\",\n zip: \"NW1 6XE\",\n },\n {\n city: \"Birmingham\",\n country: \"United Kingdom\",\n street: \"Bordesley Street\",\n number: \"B1 1AA\",\n zip: \"B1 1AA\",\n },\n];\n\nexport const US_ADDRESSES = [\n {\n city: \"New York\",\n country: \"United States\",\n street: \"Broadway\",\n number: \"42\",\n zip: \"10036\",\n },\n {\n city: \"Los Angeles\",\n country: \"United States\",\n street: \"Hollywood Boulevard\",\n number: \"6801\",\n zip: \"90028\",\n },\n];\n\nexport const EUROPE_ADDRESSES = [\n {\n city: \"Paris\",\n country: \"France\",\n street: \"Rue de Rivoli\",\n number: \"75001\",\n zip: \"75001\",\n },\n {\n city: \"Berlin\",\n country: \"Germany\",\n street: \"Unter den Linden\",\n number: \"10117\",\n zip: \"10117\",\n },\n {\n city: \"Rome\",\n country: \"Italy\",\n street: \"Via del Corso\",\n number: \"00186\",\n zip: \"00186\",\n },\n {\n city: \"Madrid\",\n country: \"Spain\",\n street: \"Gran Vía\",\n number: \"28013\",\n zip: \"28013\",\n },\n];\n\nexport const MIXED_ADDRESSES = [\n {\n city: \"Moscow\",\n country: \"Russia\",\n street: \"Tverskaya\",\n number: \"101000\",\n zip: \"101000\",\n },\n {\n city: \"Tokyo\",\n country: \"Japan\",\n street: \"Shinjuku\",\n number: \"160-0022\",\n zip: \"160-0022\",\n },\n {\n city: \"Beijing\",\n country: \"China\",\n street: \"Changan\",\n number: \"100005\",\n zip: \"100005\",\n },\n {\n city: \"Cairo\",\n country: \"Egypt\",\n street: \"Al-Muizz\",\n number: \"11511\",\n\n zip: \"11511\",\n },\n {\n city: \"Buenos Aires\",\n country: \"Argentina\",\n street: \"Avenida de Mayo\",\n number: \"1002\",\n zip: \"C1006AAQ\",\n },\n {\n city: \"Cape Town\",\n country: \"South Africa\",\n street: \"Adderley\",\n number: \"7700\",\n zip: \"7700\",\n },\n {\n city: \"Sydney\",\n country: \"Australia\",\n street: \"George\",\n number: \"2000\",\n zip: \"2000\",\n },\n {\n city: \"Rio de Janeiro\",\n country: \"Brazil\",\n street: \"Av. Presidente Vargas\",\n number: \"20021-000\",\n zip: \"20021-000\",\n },\n {\n city: \"Mexico City\",\n country: \"Mexico\",\n street: \"Paseo de la Reforma\",\n number: \"06500\",\n zip: \"06500\",\n },\n];\n\nexport const ADDRESSES = [\n ...UK_ADDRESSES,\n ...US_ADDRESSES,\n ...EUROPE_ADDRESSES,\n ...MIXED_ADDRESSES,\n];\n\nexport const CITIES = [\n \"London\",\n \"Birmingham\",\n \"New York\",\n \"Los Angeles\",\n \"Paris\",\n \"Berlin\",\n \"Rome\",\n \"Madrid\",\n \"Moscow\",\n \"Tokyo\",\n \"Beijing\",\n \"Cairo\",\n \"Buenos Aires\",\n \"Cape Town\",\n \"Sydney\",\n \"Rio de Janeiro\",\n \"Mexico City\",\n];\n\nexport const US_STATE_CODE_SAMPLES = [\n \"AL\",\n \"AK\",\n \"AZ\",\n \"AR\",\n \"CA\",\n \"CO\",\n \"CT\",\n \"DE\",\n \"FL\",\n \"GA\",\n \"HI\",\n];\n\nexport const ZIP_SAMPLES = [\n \"10036\",\n \"90028\",\n \"75001\",\n \"10117\",\n \"00186\",\n \"28013\",\n \"101000\",\n];\n","export const randomInt = (start: number = -100, end: number = 100): number =>\n Math.floor(Math.random() * (end - start + 1) + start);\n\nexport const randomPositiveInt = (end: number = 100): number =>\n randomInt(1, end);\n\nexport const randomNegativeInt = (start: number = -100): number =>\n randomInt(start, -1);\n\nexport const randomMaxSafeInt = () =>\n randomInt(-Number.MAX_SAFE_INTEGER, Number.MAX_SAFE_INTEGER);\n\nexport const randomMaxInt = () =>\n randomInt(-Number.MAX_VALUE, Number.MAX_VALUE);\n\nexport const randomPercentage = () => randomInt(-100, 100);\n","import { randomInt } from \"./randomInt\";\n\nexport const randomArrayItem = <T>(array: T[]): T => {\n return array[randomInt(0, array.length - 1)];\n};\n","import { ADDRESSES } from \"../constants/addresses\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomAddress = () => {\n return randomArrayItem(ADDRESSES);\n};\n","import { array } from \"../helpers/array\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\n//avoid 0s and Os as they get confused with each other\nconst chars = \"123456789ABCDEFGHIJKLMNPQRSTUVWXYZ\".split(\"\");\n\n/**\n * Generates a random alphanumeric code that can be used for verification codes, etc.\n * Does not contain 0s or Os as they get confused with each other.\n * @param length The length of the code to generate.\n * @returns A random alphanumeric code.\n * @example\n * randomAlphaNumericCode(); => \"A2G4G6\"\n */\nexport const randomAlphaNumericCode = ({\n length = 6,\n}: { length?: number } = {}) => {\n if (length < 1)\n throw new Error(\"randomAlphaNumericCode: Length must be greater than 0.\");\n\n return array(length, () => randomArrayItem(chars)).join(\"\");\n};\n","import { randomInt } from \"./randomInt\";\n\nexport const randomBool = () => !!randomInt(0, 1);\n","import { isValue } from \"../validators/isValue\";\n\n// Max js digits is theoretically 17, but is actually 16, see Math.random output.\nexport const JS_MAX_DIGITS = 16;\n\n// TODO: with big numbers there will be less digits\nexport const randomFloat = (\n min: number = -9,\n max: number = 9,\n decimals?: number // toFixed accepts max 100 anyway... even if the docs say 20\n) => {\n const float = Math.random() * (max - min) + min;\n\n if (isValue(decimals)) return parseFloat(float.toFixed(decimals));\n\n return float;\n};\n\n// TODO: randomBigFloat\n","import { Coords } from \"../types\";\nimport { randomFloat } from \"./randomFloat\";\n\nexport const randomCoords = (): Coords => {\n return {\n lat: randomLat(),\n lng: randomLng(),\n };\n};\n\nexport const randomLat = () => {\n return randomFloat(-90, 90);\n};\n\nexport const randomLng = () => {\n return randomFloat(-180, 180);\n};\n","import {\n MILLISECONDS_IN_DECADE,\n MAX_DATE_MILLISECONDS,\n MILLISECONDS_IN_MINUTE,\n} from \"../constants/time\";\n\nexport const randomDate = (start?: Date, end?: Date) => {\n const startDate = start || new Date(-MILLISECONDS_IN_DECADE);\n const endDate = end || new Date(MILLISECONDS_IN_DECADE);\n return new Date(\n startDate.getTime() +\n Math.random() * (endDate.getTime() - startDate.getTime())\n );\n};\n\nexport const randomMaxDate = (start?: Date, end?: Date) => {\n const startDate = start || new Date(-MAX_DATE_MILLISECONDS);\n const endDate = end || new Date(MAX_DATE_MILLISECONDS);\n return randomDate(startDate, endDate);\n};\n\nexport const randomFutureDate = () => {\n // Add a safe margin in the future (i.e. lagging tests). About 5 minutes is enough.\n const safeNow = new Date(new Date().getTime() + 5 * MILLISECONDS_IN_MINUTE);\n return randomDate(safeNow);\n};\n\nexport const randomPastDate = () => {\n return randomDate(undefined, new Date());\n};\n\nexport const randomDateRange = () => {\n const startDate = randomDate();\n const endDate = randomDate(startDate);\n\n return {\n endDate,\n startDate,\n };\n};\n","export const DOMAIN_NAMES = [\n \"gmail.com\",\n \"yahoo.com\",\n \"hotmail.com\",\n \"aol.com\",\n \"msn.com\",\n \"comcast.net\",\n \"live.com\",\n \"sbcglobal.net\",\n \"verizon.net\",\n \"att.net\",\n \"mac.com\",\n \"me.com\",\n \"earthlink.net\",\n \"charter.net\",\n \"shaw.ca\",\n \"yahoo.ca\",\n \"googlemail.com\",\n \"mail.com\",\n \"qq.com\",\n \"web.de\",\n \"gmx.de\",\n \"mail.ru\",\n];\n","export const ANIMAL_NAMES = [\n \"Aardvark\",\n \"Albatross\",\n \"Alligator\",\n \"Alpaca\",\n \"Ant\",\n \"Anteater\",\n \"Antelope\",\n \"Ape\",\n];\n\nexport const TOOL_NAMES = [\n \"Axe\",\n \"Ball Peen Hammer\",\n \"Band Saw\",\n \"Bench Grinder\",\n \"Biscuit Joiner\",\n \"Bolt Cutter\",\n \"Boring Machine\",\n \"Bow Saw\",\n];\n\nexport const LATIN_FIRST_NAMES = [\n \"Adam\",\n \"Adrian\",\n \"Alan\",\n \"Albert\",\n \"Alexander\",\n \"Alice\",\n \"Amanda\",\n \"Emma\",\n \"Amelia\",\n \"Amy\",\n \"Andrew\",\n \"Esther\",\n \"Olivia\",\n \"Ruby\",\n];\n\nexport const LATIN_LAST_NAMES = [\n \"Smith\",\n \"Johnson\",\n \"Williams\",\n \"Jones\",\n \"Brown\",\n \"Davis\",\n \"Miller\",\n \"Wilson\",\n \"Moore\",\n \"Taylor\",\n \"Anderson\",\n \"Thomas\",\n \"Jackson\",\n \"White\",\n];\n\nexport const CYRILLIC_FIRST_NAMES = [\n \"Абигаил\",\n \"Адам\",\n \"Адриан\",\n \"Агнес\",\n \"Алан\",\n \"Альберт\",\n \"Александр\",\n \"Алиса\",\n \"Аманда\",\n \"Амелия\",\n \"Эми\",\n \"Эндрю\",\n];\n\nexport const CYRILLIC_LAST_NAMES = [\n \"Смит\",\n \"Джонсон\",\n \"Уильямс\",\n \"Джонс\",\n \"Браун\",\n \"Дэвис\",\n \"Миллер\",\n \"Вилсон\",\n \"Мур\",\n \"Тейлор\",\n \"Андерсон\",\n \"Томас\",\n \"Джексон\",\n \"Уайт\",\n];\n\nexport const JAPANESE_FIRST_NAMES = [\n \"アビゲイル\",\n \"アダム\",\n \"アドリアン\",\n \"アグネス\",\n \"アラン\",\n \"アルバート\",\n \"アレクサンダー\",\n \"アリス\",\n \"アマンダ\",\n \"アメリア\",\n \"アミー\",\n \"アンドリュー\",\n];\n\nexport const JAPANESE_LAST_NAMES = [\n \"スミス\",\n \"ジョンソン\",\n \"ウィリアムズ\",\n \"ジョーンズ\",\n \"ブラウン\",\n \"デイビス\",\n \"ミラー\",\n \"ウィルソン\",\n \"モア\",\n \"タイラー\",\n \"アンダーソン\",\n \"トーマス\",\n \"ジャクソン\",\n \"ホワイト\",\n];\n\nexport const ARABIC_FIRST_NAMES = [\n \"أبيجيل\",\n \"آدم\",\n \"آدريان\",\n \"أغنيس\",\n \"آلان\",\n \"آلبرت\",\n \"ألكسندر\",\n \"آليس\",\n \"آماندا\",\n \"آميليا\",\n \"آمي\",\n \"أندرو\",\n];\n\nexport const ARABIC_LAST_NAMES = [\n \"سميث\",\n \"جونسون\",\n \"ويليامز\",\n \"جونز\",\n \"براون\",\n \"ديفيس\",\n \"ميلر\",\n \"ويلسون\",\n \"مور\",\n \"تايلور\",\n \"أندرسون\",\n \"توماس\",\n \"جاكسون\",\n \"وايت\",\n];\n\nexport const FIRST_NAMES = [\n ...LATIN_FIRST_NAMES,\n ...CYRILLIC_FIRST_NAMES,\n ...JAPANESE_FIRST_NAMES,\n ...ARABIC_FIRST_NAMES,\n];\n\nexport const LAST_NAMES = [\n ...LATIN_LAST_NAMES,\n ...CYRILLIC_LAST_NAMES,\n ...JAPANESE_LAST_NAMES,\n ...ARABIC_LAST_NAMES,\n];\n","import { LATIN_FIRST_NAMES, LATIN_LAST_NAMES } from \"../constants/names\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomInt } from \"./randomInt\";\n\nexport const randomHandle = () =>\n (\n randomArrayItem(LATIN_FIRST_NAMES) +\n \".\" +\n randomArrayItem(LATIN_LAST_NAMES)\n ).toLowerCase() + randomInt(11, 99);\n","import { DOMAIN_NAMES } from \"../constants/domains\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomHandle } from \"./randomHandle\";\n\n//Use randomId() to generate a unique email\nexport const randomEmail = () =>\n `${randomHandle()}@${randomArrayItem(DOMAIN_NAMES)}`;\n","export const EMOJI_SAMPLE = [\n \"😀\",\n \"😁\",\n \"😂\",\n \"🤣\",\n \"😃\",\n \"😄\",\n \"😅\",\n \"😆\",\n \"😉\",\n \"😊\",\n \"😋\",\n \"😎\",\n \"😍\",\n \"😘\",\n \"😗\",\n \"😙\",\n];\n\nexport const SPECIAL_CHARACTERS = [\"!\", \"@\", \"#\", \"$\", \"%\", \"^\", \"&\", \"*\"];\n","import { EMOJI_SAMPLE } from \"../constants/unicode\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEmoji = () => {\n return randomArrayItem(EMOJI_SAMPLE);\n};\n","import { isNumeric } from \"../validators/isNumeric\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEnumKey = <T extends object>(enumObject: T): keyof T => {\n return randomArrayItem(\n Object.keys(enumObject).filter((key) => !isNumeric(key)) // key cannot be a number\n ) as keyof T;\n};\n","import { isKey } from \"../validators/isKey\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomEnumValue = <T extends object>(\n enumObject: T\n): T[keyof T] => {\n let values: T[keyof T][] = [];\n\n Object.values(enumObject).forEach((value) => {\n // types are tricky here because the value is used also to check if exists as a key\n if (isKey(value, enumObject) && !values.includes(value as T[keyof T]))\n values.push(enumObject[value as keyof T]);\n });\n\n return randomArrayItem(values);\n};\n","export const VERBS = [\n \"abide\",\n \"abound\",\n \"accept\",\n \"accomplish\",\n \"achieve\",\n \"acquire\",\n \"act\",\n \"adapt\",\n \"add\",\n \"adjust\",\n \"admire\",\n \"admit\",\n \"adopt\",\n \"advance\",\n \"advise\",\n \"afford\",\n \"agree\",\n \"alert\",\n \"allow\",\n \"be\",\n \"go\",\n \"need\",\n \"work\",\n];\n\nexport const NOUNS = [\n \"abandon\",\n \"ability\",\n \"able\",\n \"abortion\",\n \"about\",\n \"above\",\n \"abroad\",\n \"absence\",\n \"absent\",\n \"absolute\",\n];\n\nexport const ADJECTIVES = [\n \"abandoned\",\n \"abdominal\",\n \"ability\",\n \"able\",\n \"abnormal\",\n \"abolish\",\n \"abortion\",\n \"about\",\n \"above\",\n \"abroad\",\n \"absence\",\n \"absent\",\n \"absolute\",\n];\n\nexport const ADVERBS = [\n \"abnormally\",\n \"aboard\",\n \"absentmindedly\",\n \"absolutely\",\n \"absurdly\",\n \"abundantly\",\n \"abysmally\",\n \"academically\",\n \"acceleratedly\",\n \"accentually\",\n \"acceptably\",\n \"accessibly\",\n \"accidentally\",\n \"accommodatingly\",\n];\n\nexport const LONG_WORDS = [\n \"Pneumonoultramicroscopicsilicovolcanoconiosis\",\n \"Floccinaucinihilipilification\",\n \"Pseudopseudohypoparathyroidism\",\n \"Hippopotomonstrosesquippedaliophobia\",\n \"Antidisestablishmentarianism\",\n \"Supercalifragilisticexpialidocious\",\n \"Honorificabilitudinitatibus\",\n];\n\nexport const JS_RESERVED_WORDS = [\n \"abstract\",\n \"arguments\",\n \"await\",\n \"boolean\",\n \"break\",\n \"byte\",\n \"case\",\n \"catch\",\n \"char\",\n \"class\",\n \"const\",\n \"continue\",\n \"debugger\",\n \"default\",\n \"delete\",\n \"do\",\n \"double\",\n \"else\",\n \"enum*\",\n \"eval\",\n \"export\",\n \"extends\",\n \"false\",\n \"final\",\n \"finally\",\n \"float\",\n \"for\",\n \"function\",\n \"goto\",\n \"if\",\n \"implements\",\n \"import\",\n \"in\",\n \"instanceof\",\n \"int\",\n \"interface\",\n \"let\",\n \"long\",\n \"native\",\n \"new\",\n \"null\",\n \"package\",\n \"private\",\n \"protected\",\n \"public\",\n \"return\",\n \"short\",\n \"static\",\n \"super\",\n \"switch\",\n \"synchronized\",\n \"this\",\n \"throw\",\n \"throws\",\n \"transient\",\n \"true\",\n \"try\",\n \"typeof\",\n \"var\",\n \"void\",\n \"volatile\",\n \"while\",\n \"with\",\n \"yield\",\n];\n\nexport const HTML_COLOR_NAME_SAMPLES = [\n \"AliceBlue\",\n \"Aqua\",\n \"Aquamarine\",\n \"Azure\",\n \"Beige\",\n \"Bisque\",\n \"Black\",\n \"Blue\",\n \"BlueViolet\",\n \"Brown\",\n \"BurlyWood\",\n \"CadetBlue\",\n \"Chartreuse\",\n \"Chocolate\",\n \"Coral\",\n \"DarkSlateGray\",\n \"DeepPink\",\n \"Gold\",\n \"Lime\",\n \"Olive\",\n \"Orchid\",\n \"Salmon\",\n \"Turquoise\",\n];\n\nexport const WORDS = [\n ...VERBS,\n ...NOUNS,\n ...ADJECTIVES,\n ...ADVERBS,\n ...LONG_WORDS,\n];\n","import { WORDS } from \"../constants/words\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomWord = () => {\n return randomArrayItem(WORDS);\n};\n","import { array } from \"../helpers\";\nimport { capitalize } from \"../helpers/capitalize\";\nimport { randomWord } from \"./randomWord\";\n\nexport const randomParagraph = () => {\n return capitalize(array(8, () => randomWord()).join(\" \")) + \".\";\n};\n","import { randomArrayItem } from \"./randomArrayItem\";\nimport { randomParagraph } from \"./randomParagraph\";\nimport { randomWord } from \"./randomWord\";\n\nconst fileExtensions = [\"png\", \"jpg\", \"jpeg\", \"gif\", \"svg\", \"webp\"];\n\n// This is a client only function\nexport const randomFile = ({\n name,\n extension,\n}: {\n name?: string;\n extension?: string;\n} = {}): File | undefined => {\n if (typeof File === \"undefined\") return undefined;\n\n const _extension = extension || randomArrayItem(fileExtensions);\n return new File(\n [randomParagraph()], // TODO: Use random char string\n `${name || randomWord()}.${_extension}`,\n {\n type: `image/${_extension}`,\n }\n );\n};\n","export const HEX_VALUES = [\n \"0\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n];\n","import { HEX_VALUES } from \"../constants/hex\";\nimport { array } from \"../helpers\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHexColor = () => {\n return \"#\" + array(6, () => randomArrayItem(HEX_VALUES)).join(\"\");\n};\n","import { HEX_VALUES } from \"../constants/hex\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHexValue = () => {\n return randomArrayItem(HEX_VALUES);\n};\n","import { HTML_COLOR_NAME_SAMPLES } from \"../constants/words\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomHtmlColorName = () => {\n return randomArrayItem(HTML_COLOR_NAME_SAMPLES);\n};\n","export const IBAN_SAMPLES = [\n \"AD1200012030200359100100\",\n \"BA391290079401028494\",\n \"BE68539007547034\",\n \"BG80BNBG96611020345678\",\n \"BH67BMAG00001299123456\",\n \"BY13NBRB3600900000002Z00AB00\",\n \"CH9300762011623852957\",\n \"CR05015202001026284066\",\n \"CY17002001280000001200527600\",\n \"CZ6508000000192000145399\",\n \"DE89370400440532013000\",\n \"DO28BAGR00000001212453611324\",\n \"EE382200221020145685\",\n \"ES9121000418450200051332\",\n \"FI2112345600000785\",\n \"FO6264600001631634\",\n \"FR1420041010050500013M02606\",\n \"GB29NWBK60161331926819\",\n \"GE29NB0000000101904917\",\n];\n\nexport const BIC_SWIFT_SAMPLES = [\n \"ABNANL2A\",\n \"BKENGB2LXXX\",\n \"BUKBGB22\",\n \"CITIUS33\",\n \"CITIUS33XXX\",\n \"CSCHUS6SXXX\",\n \"NOSCCATTXXX\",\n];\n\nexport const CARD_NUMBER_SAMPLES = [\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n \"4929722653797141\",\n \"4556364607930798\",\n \"4539148803436467\",\n];\n\n//An ABA routing number is a nine-digit code that identifies banks in the U.S.\nexport const ABA_NUMBER_SAMPLES = [\n \"111000025\",\n \"081000210\",\n \"104000029\",\n \"091300023\",\n \"123000220\",\n];\n\nexport const ROUTING_NUMBER_SAMPLES = [\n \"637530215\",\n \"130436324\",\n \"611531133\",\n \"865673685\",\n];\n\nexport const BANK_ACCOUNT_NUMBER_SAMPLES = [\n \"64766774\",\n \"39526009\",\n \"25048213\",\n \"72796383\",\n];\n\nexport const VAT_REGISTRATION_NUMBER_SAMPLES = [\n \"IE1234567T\",\n \"GB123456789\",\n \"XI123456789\",\n];\n\nexport const SORT_CODE_SAMPLES = [\"100000\", \"902127\", \"800551\"];\n\nexport const SSN_SAMPLES = [\"235-55-7216\", \"372-37-3976\", \"414-99-6488\"];\n\nexport const BANK_NAME_SAMPLES = [\n \"Bank of England\",\n \"Bank of Ireland\",\n \"Bank of Scotland\",\n \"Bank of America\",\n];\n\nexport const COMPANY_NAME_SAMPLES = [\n \"Acme Inc.\",\n \"Acme Corp.\",\n \"Acme Ltd.\",\n \"Acme LLC\",\n \"Umbrella Corp.\",\n \"Umbrella Inc.\",\n \"Umbrella Ltd.\",\n \"Umbrella LLC\",\n];\n","import { IBAN_SAMPLES } from \"../constants/banking\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomIBAN = () => {\n return randomArrayItem(IBAN_SAMPLES);\n};\n","import { randomInt } from \"./randomInt\";\n\nexport const randomIP = () => {\n return `${randomInt(0, 255).toString()}.${randomInt(\n 0,\n 255\n ).toString()}.${randomInt(0, 255).toString()}.${randomInt(\n 0,\n 255\n ).toString()}`;\n};\n","import {\n ANIMAL_NAMES,\n FIRST_NAMES,\n LAST_NAMES,\n LATIN_FIRST_NAMES,\n LATIN_LAST_NAMES,\n TOOL_NAMES,\n} from \"../constants/names\";\nimport { randomArrayItem } from \"./randomArrayItem\";\n\nexport const randomName = () =>\n randomArrayItem([...ANIMAL_NAMES, ...TOOL_NAMES]);\n\nexport const randomFirstName = () => randomArrayItem(FIRST_NAMES);\n\nexport const randomLastName = () => randomArrayItem(LAST_NAMES);\n\nexport const randomFullName = () =>\n randomArrayItem(LATIN_FIRST_NAMES) + \" \" + randomArrayItem(LATIN_LAST_NAMES);\n","import { array } from \"../helpers/array\";\nimport { randomInt } from \"./randomInt\";\n\n/**\n * Generates a random numeric code that can be used for verification codes, etc.\n * Does not start with 0.\n * @param length The length of the code to generate.\n * @returns A random numeric code.\n * @example\n * randomNumericCode(); => \"123456\"\n * @example\n * randomNumericCode({ length: 4 }); => \"1234\"\n */\nexport const randomNumericCode = ({ length = 6 }: { length?: number } = {}) => {\n if (length < 1)\n throw new Error(\"randomNumericCode: Length must be greater than 0.\");\n\n return array(length, (_, index) => randomInt(!index ? 1 : 0, 9)).join(\"\");\n};\n","let id = 1; // don't start with 0, to be closer to SQL autoincrement\n\nexport const randomNumericId = () => {\n return id++;\n};\n","import { SPECIAL_CHARACTERS } from \"../constants/unicode\";\nimport { randomArrayItem } from \"./randomArrayItem\";\nimport { randomHtmlColorName } from \"./randomHtmlColorName\";\nimport { randomInt } from \"./randomInt\";\n\nexport const randomPassword = () =>\n randomHtmlColorName() + // So it has an upper case\n randomArrayItem(SPECIAL_CHARACTERS) + // So it has a special character\n randomInt(11, 99); // So it has a number\n","import { randomNumericId } from \"./randomNumericId\";\n\n/**\n * This is a light-weight version of the `generateUuid` function\n * To be used only for test purposed and NOT for production\n * Leave 0s, so it gets immediately recognized as a fake uuid\n *\n * /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i\n */\nexport const randomUUID = () => {\n const id = randomNumericId().toString().padStart(15, \"0\");\n const digit12 = id.substring(0, 12);\n const digit3 = id.substring(12, 15);\n return `00000000-0000-1000-8${digit3}-${digit12}`;\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deverything",
3
- "version": "0.17.0",
3
+ "version": "0.17.1",
4
4
  "description": "Everything you need for Dev",
5
5
  "main": "dist/index.js",
6
6
  "module": "./dist/index.mjs",