deverything 0.14.0 → 0.16.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.
package/README.md CHANGED
@@ -52,6 +52,7 @@ Contributions always welcome!
52
52
 
53
53
  - `array()` create an arbitrary array based on a function
54
54
  - `capitalize()` word => Word
55
+ - `cleanSpaces()` trims and turns double spaces into single space
55
56
  - `clamp()` clamp number in a range
56
57
  - `first()` get the first element of an array
57
58
  - `getKeys()` get the keys of an object, includes symbols
@@ -60,6 +61,9 @@ Contributions always welcome!
60
61
  - `moveToFirst()` move array element to first
61
62
  - `moveToLast()` move array element to last
62
63
  - ⭐ `parseDate()` pass anything Date-Like, and get a JS Date back
64
+ - `pretty()`
65
+ - `sleep()`
66
+ - `toggleArray()`
63
67
  - `truncate()` truncate text, does not break emojis
64
68
 
65
69
  ### Random data generators
@@ -110,6 +114,7 @@ These functions are optimized for low entropy random data generation useful for
110
114
 
111
115
  - `Coords`
112
116
  - `DateLike`
117
+ - `Dimensions`
113
118
  - `Maybe`
114
119
  - `MaybePromise`
115
120
  - `MaybePromiseOrValue`
package/dist/index.d.ts CHANGED
@@ -2,11 +2,14 @@ declare const array: <U extends (...args: any) => any>(length: number, mapFn: U)
2
2
 
3
3
  declare const capitalize: (string: string) => string;
4
4
 
5
- declare const clamp: (number: number, { min, max }: {
5
+ declare const clamp: ({ number, min, max, }: {
6
+ number: number;
6
7
  min: number;
7
8
  max: number;
8
9
  }) => number;
9
10
 
11
+ declare const cleanSpaces: (str: string) => string;
12
+
10
13
  declare const first: <T>(arr?: T[] | undefined) => T | undefined;
11
14
 
12
15
  declare const getKeys: (arg: object) => string[];
@@ -21,6 +24,11 @@ type Coords = {
21
24
 
22
25
  type DateLike = Date | string | number;
23
26
 
27
+ type Dimensions = {
28
+ width: number;
29
+ height: number;
30
+ };
31
+
24
32
  type Maybe<T> = T | null | undefined;
25
33
  type MaybePromise<T> = Maybe<Promise<T>>;
26
34
  type MaybePromiseOrValue<T> = MaybePromise<T> | T;
@@ -47,6 +55,12 @@ declare const moveToLast: <T>(items: T[], condition: (item: T, i: number, items:
47
55
 
48
56
  declare const parseDate: (arg?: Maybe<DateLike>) => Date | undefined;
49
57
 
58
+ declare const pretty: (arg: any) => string;
59
+
60
+ declare const sleep: (timeMs: number) => Promise<void>;
61
+
62
+ declare const toggleArray: <T>(arg: T[], value: T) => T[];
63
+
50
64
  declare const truncate: (arg: string, limit: number, ellipsis?: string) => string;
51
65
 
52
66
  declare const randomAddress: () => {
@@ -90,10 +104,9 @@ declare const randomEmail: () => string;
90
104
 
91
105
  declare const randomEmoji: () => string;
92
106
 
93
- declare const randomEnumKey: (enumObject: Record<string, string | number>) => string;
107
+ declare const randomEnumKey: <T extends object>(enumObject: T) => keyof T;
94
108
 
95
- type EnumValue = string | number;
96
- declare const randomEnumValue: (enumObject: Record<string, EnumValue>) => EnumValue;
109
+ declare const randomEnumValue: <T extends object>(enumObject: T) => T[keyof T];
97
110
 
98
111
  declare const randomFile: ({ name, extension, }?: {
99
112
  name?: string | undefined;
@@ -158,7 +171,7 @@ declare const randomUUID: () => string;
158
171
 
159
172
  declare const randomWord: () => string;
160
173
 
161
- declare const isArray: <T>(value?: T[] | undefined) => value is T[];
174
+ declare const isArray: <T>(arg?: any) => arg is T[];
162
175
 
163
176
  declare const isBoolean: (arg: any) => boolean;
164
177
 
@@ -188,7 +201,7 @@ declare const isNumber: (arg: any) => arg is number;
188
201
 
189
202
  declare const isNumeric: (num: number | string) => boolean;
190
203
 
191
- declare const isObject: (arg: any) => arg is object;
204
+ declare const isObject: <T>(arg?: any) => arg is Record<string, T>;
192
205
 
193
206
  declare const isPromise: (arg: any) => boolean;
194
207
 
@@ -212,4 +225,4 @@ declare const isUUID: (arg: string) => boolean;
212
225
 
213
226
  declare const isValue: (arg?: Maybe<any>) => boolean;
214
227
 
215
- export { Coords, DateLike, EnumValue, JS_MAX_DIGITS, Maybe, MaybePromise, MaybePromiseOrValue, MaybePromiseOrValueArray, NonUndefined, ObjectValues, PlainObject, Point, PrismaSelect, array, capitalize, clamp, first, getEnumerableOwnPropertySymbols, getKeys, isArray, isBoolean, isBrowser, isClient, isEmail, isEmpty, isEmptyArray, isEmptyObject, isEmptyString, isEven, isFunction, isInt, isJsDate, isKey, isNegative, isNumber, isNumeric, isObject, isOdd, isPWA, isPositive, isPromise, isReactElement, isRegExp, isServer, isString, isStringDate, isURL, isUUID, isUndefined, isValue, last, merge, moveToFirst, moveToLast, parseDate, randomAddress, randomAlphaNumericCode, randomArrayItem, randomBool, randomCoords, randomDate, randomDateRange, randomEmail, randomEmoji, randomEnumKey, randomEnumValue, randomFile, randomFirstName, randomFloat, randomFullName, randomFutureDate, randomHandle, randomHexColor, randomHexValue, randomHtmlColorName, randomIBAN, randomIP, randomInt, randomLastName, randomLat, randomLng, randomMaxDate, randomMaxInt, randomMaxSafeInt, randomName, randomNegativeInt, randomNumericCode, randomNumericId, randomParagraph, randomPassword, randomPastDate, randomPercentage, randomPositiveInt, randomUUID, randomWord, truncate };
228
+ export { Coords, DateLike, Dimensions, JS_MAX_DIGITS, Maybe, MaybePromise, MaybePromiseOrValue, MaybePromiseOrValueArray, NonUndefined, ObjectValues, PlainObject, Point, PrismaSelect, array, capitalize, clamp, cleanSpaces, first, getEnumerableOwnPropertySymbols, getKeys, isArray, isBoolean, isBrowser, isClient, isEmail, isEmpty, isEmptyArray, isEmptyObject, isEmptyString, isEven, isFunction, isInt, isJsDate, isKey, isNegative, isNumber, isNumeric, isObject, isOdd, isPWA, isPositive, isPromise, isReactElement, isRegExp, isServer, isString, isStringDate, isURL, isUUID, isUndefined, isValue, last, merge, moveToFirst, moveToLast, parseDate, pretty, randomAddress, randomAlphaNumericCode, randomArrayItem, randomBool, randomCoords, randomDate, randomDateRange, randomEmail, randomEmoji, randomEnumKey, randomEnumValue, randomFile, randomFirstName, randomFloat, randomFullName, randomFutureDate, randomHandle, randomHexColor, randomHexValue, randomHtmlColorName, randomIBAN, randomIP, randomInt, randomLastName, randomLat, randomLng, randomMaxDate, randomMaxInt, randomMaxSafeInt, randomName, randomNegativeInt, randomNumericCode, randomNumericId, randomParagraph, randomPassword, randomPastDate, randomPercentage, randomPositiveInt, randomUUID, randomWord, sleep, toggleArray, truncate };
@@ -1,92 +1,96 @@
1
1
  (function (exports) {
2
2
  'use strict';
3
3
 
4
- var i=(t,e)=>Array.from({length:t},e);var N=t=>t.charAt(0).toUpperCase()+t.slice(1);var Nt=(t,{min:e,max:r})=>t<e?e:t>r?r:t;var _t=t=>t==null?void 0:t[0];var x=t=>Object.keys(t).concat(H(t)),H=t=>Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[];var gt=t=>t==null?void 0:t[t.length-1];var I=t=>Array.isArray(t);var Dt=t=>Object.prototype.toString.call(t)==="[object Boolean]";var _=()=>typeof window=="undefined";var d=()=>!_();var Pt=d;var l=t=>typeof t=="string";var Ft=t=>l(t)&&/\S+@\S+\.\S+/.test(t);var m=t=>Object.prototype.toString.call(t)==="[object Object]";var M=t=>W(t)||k(t)||J(t)?!0:t==null,J=t=>l(t)&&t.trim().length===0,k=t=>I(t)&&t.length===0,W=t=>m(t)&&Object.keys(t).length===0;var kt=t=>Object.prototype.toString.call(t)==="[object Function]";var u=t=>Object.prototype.toString.call(t)==="[object Date]"&&!isNaN(t);var T=(t,e)=>e.hasOwnProperty(t)&&e.propertyIsEnumerable(t);var A=t=>Number.isInteger(t),Yt=t=>A(t)&&!(t%2),qt=t=>A(t)&&!!(t%2),g=t=>A(t)&&t>0,Zt=t=>A(t)&&t<0,Qt=t=>Object.prototype.toString.apply(t)==="[object Number]"&&isFinite(t);var L=t=>!isNaN(t);var re=t=>t instanceof Promise;var ae=()=>d()&&window.matchMedia("(display-mode: standalone)").matches;var $=typeof Symbol=="function"&&Symbol.for,K=$?Symbol.for("react.element"):60103,me=t=>t.$$typeof===K;var ce=t=>Object.prototype.toString.call(t)==="[object RegExp]";var le=t=>{let e=new Date(t);return u(e)};var Ae=t=>typeof t=="undefined";var Y=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"),be=t=>!!t&&Y.test(t);var xe=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 E=(t,e)=>{let r={};return x(t).forEach(o=>{r[o]=m(t[o])?E({},t[o]):t[o];}),x(e).forEach(o=>{T(o,t)?r[o]=m(t[o])&&m(e[o])?E(t[o],e[o]):e[o]:r[o]=m(e[o])?E({},e[o]):e[o];}),r};var Me=(t,e)=>{let r=[...t];for(let o=0;o<r.length;o++)if(e(r[o],o,r)){let y=r.splice(o,1);r.unshift(y[0]);break}return r};var ge=(t,e)=>{let r=[...t];for(let o=0;o<r.length;o++)if(e(r[o],o,r)){let y=r.splice(o,1)[0];r.push(y);break}return r};var Ce=t=>{if(M(t))return;let e=new Date(t);if(u(e))return e};var Oe=(t,e,r="...")=>{if(!g(e))return t;let o=[...t];return o.length<=e?t:o.slice(0,e).join("")+r};var q=[{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"}],Z=[{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"}],Q=[{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"}],tt=[{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=[...q,...Z,...Q,...tt];var a=(t=-100,e=100)=>Math.floor(Math.random()*(e-t+1)+t),Ue=(t=100)=>a(1,t),je=(t=-100)=>a(t,-1),ve=()=>a(-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),Fe=()=>a(-Number.MAX_VALUE,Number.MAX_VALUE),ze=()=>a(-100,100);var n=t=>t[a(0,t.length-1)];var ke=()=>n(D);var et="123456789ABCDEFGHIJKLMNPQRSTUVWXYZ".split(""),Ye=({length:t=6}={})=>{if(t<1)throw new Error("randomAlphaNumericCode: Length must be greater than 0.");return i(t,()=>n(et)).join("")};var Qe=()=>!!a(0,1);var rr=16,f=(t=-9,e=9,r)=>{let o=Math.random()*(e-t)+t;return B(r)?parseFloat(o.toFixed(r)):o};var ar=()=>({lat:rt(),lng:ot()}),rt=()=>f(-90,90),ot=()=>f(-180,180);var s=(t,e)=>{let r=t||new Date(-31536e7),o=e||new Date(31536e7);return new Date(r.getTime()+Math.random()*(o.getTime()-r.getTime()))},sr=(t,e)=>{let r=t||new Date(-864e13),o=e||new Date(864e13);return s(r,o)},cr=()=>{let t=new Date(new Date().getTime()+5*6e4);return s(t)},pr=()=>s(void 0,new Date),dr=()=>{let t=s();return {endDate:s(t),startDate:t}};var C=["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 h=["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"],c=["Adam","Adrian","Alan","Albert","Alexander","Alice","Amanda","Emma","Amelia","Amy","Andrew","Esther","Olivia","Ruby"],p=["Smith","Johnson","Williams","Jones","Brown","Davis","Miller","Wilson","Moore","Taylor","Anderson","Thomas","Jackson","White"],it=["\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"],st=["\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"],ct=["\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"],pt=["\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"],dt=["\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=[...c,...it,...st,...pt],w=[...p,...mt,...ct,...dt];var P=()=>(n(c)+"."+n(p)).toLowerCase()+a(11,99);var Ir=()=>`${P()}@${n(C)}`;var U=["\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}"],j=["!","@","#","$","%","^","&","*"];var Lr=()=>n(U);var hr=t=>n(Object.keys(t).filter(e=>!L(e)));var wr=t=>{let e=[];return Object.values(t).forEach(r=>{r in t&&!e.includes(r)&&e.push(t[r]);}),n(e)};var lt=["abide","abound","accept","accomplish","achieve","acquire","act","adapt","add","adjust","admire","admit","adopt","advance","advise","afford","agree","alert","allow","be","go","need","work"],ut=["abandon","ability","able","abortion","about","above","abroad","absence","absent","absolute"],At=["abandoned","abdominal","ability","able","abnormal","abolish","abortion","about","above","abroad","absence","absent","absolute"],St=["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=[...lt,...ut,...At,...St,...bt];var S=()=>n(F);var z=()=>N(i(8,()=>S()).join(" "))+".";var yt=["png","jpg","jpeg","gif","svg","webp"],Wr=({name:t,extension:e}={})=>{if(typeof File=="undefined")return;let r=e||n(yt);return new File([z()],`${t||S()}.${r}`,{type:`image/${r}`})};var b=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];var Qr=()=>"#"+i(6,()=>n(b)).join("");var oo=()=>n(b);var X=()=>n(v);var G=["AD1200012030200359100100","BA391290079401028494","BE68539007547034","BG80BNBG96611020345678","BH67BMAG00001299123456","BY13NBRB3600900000002Z00AB00","CH9300762011623852957","CR05015202001026284066","CY17002001280000001200527600","CZ6508000000192000145399","DE89370400440532013000","DO28BAGR00000001212453611324","EE382200221020145685","ES9121000418450200051332","FI2112345600000785","FO6264600001631634","FR1420041010050500013M02606","GB29NWBK60161331926819","GE29NB0000000101904917"];var lo=()=>n(G);var So=()=>`${a(0,255).toString()}.${a(0,255).toString()}.${a(0,255).toString()}.${a(0,255).toString()}`;var Eo=()=>n([...h,...R]),fo=()=>n(O),No=()=>n(w),Io=()=>n(c)+" "+n(p);var go=({length:t=6}={})=>{if(t<1)throw new Error("randomNumericCode: Length must be greater than 0.");return i(t,(e,r)=>a(r?0:1,9)).join("")};var xt=1,V=()=>xt++;var Oo=()=>X()+n(j)+a(11,99);var Uo=()=>{let t=V().toString().padStart(15,"0"),e=t.substring(0,12);return `00000000-0000-1000-8${t.substring(12,15)}-${e}`};
4
+ var i=(t,e)=>Array.from({length:t},e);var I=t=>t.charAt(0).toUpperCase()+t.slice(1);var Tt=({number:t,min:e,max:r})=>(r<e&&process.env.DEVERYTHING_WARNINGS&&console.warn("clamp: max < min",{number:t,min:e,max:r}),t<e?e:t>r?r:t);var It=t=>t.trim().replace(/\s{2,}/g," ");var Mt=t=>t==null?void 0:t[0];var E=t=>Object.keys(t).concat(k(t)),k=t=>Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[];var Bt=t=>t==null?void 0:t[t.length-1];var l=t=>Array.isArray(t);var Ct=t=>Object.prototype.toString.call(t)==="[object Boolean]";var _=()=>typeof window=="undefined";var u=()=>!_();var Ut=u;var A=t=>typeof t=="string";var Gt=t=>A(t)&&/\S+@\S+\.\S+/.test(t);var s=t=>Object.prototype.toString.call(t)==="[object Object]";var M=t=>W(t)||J(t)||V(t)?!0:t==null,V=t=>A(t)&&t.trim().length===0,J=t=>l(t)&&t.length===0,W=t=>s(t)&&Object.keys(t).length===0;var Kt=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),Zt=t=>b(t)&&!(t%2),Qt=t=>b(t)&&!!(t%2),g=t=>b(t)&&t>0,te=t=>b(t)&&t<0,ee=t=>Object.prototype.toString.apply(t)==="[object Number]"&&isFinite(t);var L=t=>!isNaN(t);var ne=t=>t instanceof Promise;var se=()=>u()&&window.matchMedia("(display-mode: standalone)").matches;var K=typeof Symbol=="function"&&Symbol.for,$=K?Symbol.for("react.element"):60103,ce=t=>t.$$typeof===$;var de=t=>Object.prototype.toString.call(t)==="[object RegExp]";var Ae=t=>{let e=new Date(t);return S(e)};var ye=t=>typeof t=="undefined";var Y=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"),fe=t=>!!t&&Y.test(t);var Ee=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 r={};return E(t).forEach(o=>{r[o]=s(t[o])?T({},t[o]):t[o];}),E(e).forEach(o=>{y(o,t)?r[o]=s(t[o])&&s(e[o])?T(t[o],e[o]):e[o]:r[o]=s(e[o])?T({},e[o]):e[o];}),r};var ge=(t,e)=>{let r=[...t];for(let o=0;o<r.length;o++)if(e(r[o],o,r)){let m=r.splice(o,1);r.unshift(m[0]);break}return r};var Be=(t,e)=>{let r=[...t];for(let o=0;o<r.length;o++)if(e(r[o],o,r)){let m=r.splice(o,1)[0];r.push(m);break}return r};var Re=t=>{if(M(t))return;let e=new Date(t);if(S(e))return e};var we=t=>JSON.stringify(t,null,2);var je=t=>new Promise(e=>{setTimeout(e,t);});var Fe=(t,e)=>{if(l(t)){let r=t.reduce((o,m)=>(m!==e&&o.push(m),o),[]);return r.length===t.length&&r.push(e),r}return t};var Xe=(t,e,r="...")=>{if(!g(e))return t;let o=[...t];return o.length<=e?t:o.slice(0,e).join("")+r};var q=[{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"}],Z=[{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"}],Q=[{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"}],tt=[{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=[...q,...Z,...Q,...tt];var a=(t=-100,e=100)=>Math.floor(Math.random()*(e-t+1)+t),Ve=(t=100)=>a(1,t),Je=(t=-100)=>a(t,-1),We=()=>a(-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),Ke=()=>a(-Number.MAX_VALUE,Number.MAX_VALUE),$e=()=>a(-100,100);var n=t=>t[a(0,t.length-1)];var er=()=>n(D);var et="123456789ABCDEFGHIJKLMNPQRSTUVWXYZ".split(""),ar=({length:t=6}={})=>{if(t<1)throw new Error("randomAlphaNumericCode: Length must be greater than 0.");return i(t,()=>n(et)).join("")};var mr=()=>!!a(0,1);var dr=16,N=(t=-9,e=9,r)=>{let o=Math.random()*(e-t)+t;return B(r)?parseFloat(o.toFixed(r)):o};var Ar=()=>({lat:rt(),lng:ot()}),rt=()=>N(-90,90),ot=()=>N(-180,180);var c=(t,e)=>{let r=t||new Date(-31536e7),o=e||new Date(31536e7);return new Date(r.getTime()+Math.random()*(o.getTime()-r.getTime()))},br=(t,e)=>{let r=t||new Date(-864e13),o=e||new Date(864e13);return c(r,o)},fr=()=>{let t=new Date(new Date().getTime()+5*6e4);return c(t)},xr=()=>c(void 0,new Date),Er=()=>{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"],d=["Smith","Johnson","Williams","Jones","Brown","Davis","Miller","Wilson","Moore","Taylor","Anderson","Thomas","Jackson","White"],it=["\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"],st=["\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"],mt=["\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"],ct=["\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"],pt=["\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"],dt=["\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,...it,...mt,...pt],w=[...d,...st,...ct,...dt];var P=()=>(n(p)+"."+n(d)).toLowerCase()+a(11,99);var Cr=()=>`${P()}@${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 jr=()=>n(j);var zr=t=>n(Object.keys(t).filter(e=>!L(e)));var kr=t=>{let e=[];return Object.values(t).forEach(r=>{y(r,t)&&!e.includes(r)&&e.push(t[r]);}),n(e)};var lt=["abide","abound","accept","accomplish","achieve","acquire","act","adapt","add","adjust","admire","admit","adopt","advance","advise","afford","agree","alert","allow","be","go","need","work"],ut=["abandon","ability","able","abortion","about","above","abroad","absence","absent","absolute"],At=["abandoned","abdominal","ability","able","abnormal","abolish","abortion","about","above","abroad","absence","absent","absolute"],St=["abnormally","aboard","absentmindedly","absolutely","absurdly","abundantly","abysmally","academically","acceleratedly","accentually","acceptably","accessibly","accidentally","accommodatingly"],yt=["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=[...lt,...ut,...At,...St,...yt];var f=()=>n(F);var z=()=>I(i(8,()=>f()).join(" "))+".";var bt=["png","jpg","jpeg","gif","svg","webp"],oo=({name:t,extension:e}={})=>{if(typeof File=="undefined")return;let r=e||n(bt);return new File([z()],`${t||f()}.${r}`,{type:`image/${r}`})};var x=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"];var co=()=>"#"+i(6,()=>n(x)).join("");var Ao=()=>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 No=()=>n(X);var Mo=()=>`${a(0,255).toString()}.${a(0,255).toString()}.${a(0,255).toString()}.${a(0,255).toString()}`;var Do=()=>n([...C,...R]),ho=()=>n(O),Co=()=>n(w),Ro=()=>n(p)+" "+n(d);var jo=({length:t=6}={})=>{if(t<1)throw new Error("randomNumericCode: Length must be greater than 0.");return i(t,(e,r)=>a(r?0:1,9)).join("")};var ft=1,H=()=>ft++;var Ho=()=>G()+n(U)+a(11,99);var Jo=()=>{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
- exports.JS_MAX_DIGITS = rr;
6
+ exports.JS_MAX_DIGITS = dr;
7
7
  exports.array = i;
8
- exports.capitalize = N;
9
- exports.clamp = Nt;
10
- exports.first = _t;
11
- exports.getEnumerableOwnPropertySymbols = H;
12
- exports.getKeys = x;
13
- exports.isArray = I;
14
- exports.isBoolean = Dt;
15
- exports.isBrowser = Pt;
16
- exports.isClient = d;
17
- exports.isEmail = Ft;
8
+ exports.capitalize = I;
9
+ exports.clamp = Tt;
10
+ exports.cleanSpaces = It;
11
+ exports.first = Mt;
12
+ exports.getEnumerableOwnPropertySymbols = k;
13
+ exports.getKeys = E;
14
+ exports.isArray = l;
15
+ exports.isBoolean = Ct;
16
+ exports.isBrowser = Ut;
17
+ exports.isClient = u;
18
+ exports.isEmail = Gt;
18
19
  exports.isEmpty = M;
19
- exports.isEmptyArray = k;
20
+ exports.isEmptyArray = J;
20
21
  exports.isEmptyObject = W;
21
- exports.isEmptyString = J;
22
- exports.isEven = Yt;
23
- exports.isFunction = kt;
24
- exports.isInt = A;
25
- exports.isJsDate = u;
26
- exports.isKey = T;
27
- exports.isNegative = Zt;
28
- exports.isNumber = Qt;
22
+ exports.isEmptyString = V;
23
+ exports.isEven = Zt;
24
+ exports.isFunction = Kt;
25
+ exports.isInt = b;
26
+ exports.isJsDate = S;
27
+ exports.isKey = y;
28
+ exports.isNegative = te;
29
+ exports.isNumber = ee;
29
30
  exports.isNumeric = L;
30
- exports.isObject = m;
31
- exports.isOdd = qt;
32
- exports.isPWA = ae;
31
+ exports.isObject = s;
32
+ exports.isOdd = Qt;
33
+ exports.isPWA = se;
33
34
  exports.isPositive = g;
34
- exports.isPromise = re;
35
- exports.isReactElement = me;
36
- exports.isRegExp = ce;
35
+ exports.isPromise = ne;
36
+ exports.isReactElement = ce;
37
+ exports.isRegExp = de;
37
38
  exports.isServer = _;
38
- exports.isString = l;
39
- exports.isStringDate = le;
40
- exports.isURL = be;
41
- exports.isUUID = xe;
42
- exports.isUndefined = Ae;
39
+ exports.isString = A;
40
+ exports.isStringDate = Ae;
41
+ exports.isURL = fe;
42
+ exports.isUUID = Ee;
43
+ exports.isUndefined = ye;
43
44
  exports.isValue = B;
44
- exports.last = gt;
45
- exports.merge = E;
46
- exports.moveToFirst = Me;
47
- exports.moveToLast = ge;
48
- exports.parseDate = Ce;
49
- exports.randomAddress = ke;
50
- exports.randomAlphaNumericCode = Ye;
45
+ exports.last = Bt;
46
+ exports.merge = T;
47
+ exports.moveToFirst = ge;
48
+ exports.moveToLast = Be;
49
+ exports.parseDate = Re;
50
+ exports.pretty = we;
51
+ exports.randomAddress = er;
52
+ exports.randomAlphaNumericCode = ar;
51
53
  exports.randomArrayItem = n;
52
- exports.randomBool = Qe;
53
- exports.randomCoords = ar;
54
- exports.randomDate = s;
55
- exports.randomDateRange = dr;
56
- exports.randomEmail = Ir;
57
- exports.randomEmoji = Lr;
58
- exports.randomEnumKey = hr;
59
- exports.randomEnumValue = wr;
60
- exports.randomFile = Wr;
61
- exports.randomFirstName = fo;
62
- exports.randomFloat = f;
63
- exports.randomFullName = Io;
64
- exports.randomFutureDate = cr;
54
+ exports.randomBool = mr;
55
+ exports.randomCoords = Ar;
56
+ exports.randomDate = c;
57
+ exports.randomDateRange = Er;
58
+ exports.randomEmail = Cr;
59
+ exports.randomEmoji = jr;
60
+ exports.randomEnumKey = zr;
61
+ exports.randomEnumValue = kr;
62
+ exports.randomFile = oo;
63
+ exports.randomFirstName = ho;
64
+ exports.randomFloat = N;
65
+ exports.randomFullName = Ro;
66
+ exports.randomFutureDate = fr;
65
67
  exports.randomHandle = P;
66
- exports.randomHexColor = Qr;
67
- exports.randomHexValue = oo;
68
- exports.randomHtmlColorName = X;
69
- exports.randomIBAN = lo;
70
- exports.randomIP = So;
68
+ exports.randomHexColor = co;
69
+ exports.randomHexValue = Ao;
70
+ exports.randomHtmlColorName = G;
71
+ exports.randomIBAN = No;
72
+ exports.randomIP = Mo;
71
73
  exports.randomInt = a;
72
- exports.randomLastName = No;
74
+ exports.randomLastName = Co;
73
75
  exports.randomLat = rt;
74
76
  exports.randomLng = ot;
75
- exports.randomMaxDate = sr;
76
- exports.randomMaxInt = Fe;
77
- exports.randomMaxSafeInt = ve;
78
- exports.randomName = Eo;
79
- exports.randomNegativeInt = je;
80
- exports.randomNumericCode = go;
81
- exports.randomNumericId = V;
77
+ exports.randomMaxDate = br;
78
+ exports.randomMaxInt = Ke;
79
+ exports.randomMaxSafeInt = We;
80
+ exports.randomName = Do;
81
+ exports.randomNegativeInt = Je;
82
+ exports.randomNumericCode = jo;
83
+ exports.randomNumericId = H;
82
84
  exports.randomParagraph = z;
83
- exports.randomPassword = Oo;
84
- exports.randomPastDate = pr;
85
- exports.randomPercentage = ze;
86
- exports.randomPositiveInt = Ue;
87
- exports.randomUUID = Uo;
88
- exports.randomWord = S;
89
- exports.truncate = Oe;
85
+ exports.randomPassword = Ho;
86
+ exports.randomPastDate = xr;
87
+ exports.randomPercentage = $e;
88
+ exports.randomPositiveInt = Ve;
89
+ exports.randomUUID = Jo;
90
+ exports.randomWord = f;
91
+ exports.sleep = je;
92
+ exports.toggleArray = Fe;
93
+ exports.truncate = Xe;
90
94
 
91
95
  return exports;
92
96
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/helpers/array.ts","../src/helpers/capitalize.ts","../src/helpers/clamp.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/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","first","arr","getKeys","arg","getEnumerableOwnPropertySymbols","symbol","last","isArray","value","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","isRegExp","isStringDate","date","isUndefined","pattern","isURL","isUUID","isValue","merge","target","source","merger","moveToFirst","items","condition","resortedItems","i","firstItem","moveToLast","lastItem","parseDate","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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AQ,EAAID,EAAU,QAAQ,EAC3D,CACF,EAEaE,GAAgB,CAACtB,EAAcC,IAAe,CACzD,IAAMmB,EAAYpB,GAAS,IAAI,KAAK,OAAsB,EACpDqB,EAAUpB,GAAO,IAAI,KAAK,MAAqB,EACrD,OAAOkB,EAAWC,EAAWC,CAAO,CACtC,EAEaE,GAAmB,IAAM,CAEpC,IAAMC,EAAU,IAAI,KAAK,IAAI,KAAK,EAAE,QAAQ,EAAI,EAAI,GAAsB,EAC1E,OAAOL,EAAWK,CAAO,CAC3B,EAEaC,GAAiB,IACrBN,EAAW,OAAW,IAAI,IAAM,EAG5BO,GAAkB,IAAM,CACnC,IAAMN,EAAYD,EAAW,EAG7B,MAAO,CACL,QAHcA,EAAWC,CAAS,EAIlC,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,GACXC,GAEOvC,EACL,OAAO,KAAKuC,CAAU,EAAE,OAAQ5F,GAAQ,CAACQ,EAAUR,CAAG,CAAC,CACzD,ECJK,IAAM6F,GACXD,GACc,CACd,IAAIE,EAAsB,CAAC,EAE3B,cAAO,OAAOF,CAAU,EAAE,QAAS3G,GAAU,CACvCA,KAAS2G,GAAc,CAACE,EAAO,SAAS7G,CAAK,GAC/C6G,EAAO,KAAKF,EAAW3G,CAAK,CAAC,CACjC,CAAC,EAEMoE,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,IACtBpI,EAAWH,EAAM,EAAG,IAAMsI,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,IAAM9I,EAAM,EAAG,IAAMqF,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,OAAAvJ,EAAS,CAAE,EAAyB,CAAC,IAAM,CAC7E,GAAIA,EAAS,EACX,MAAM,IAAI,MAAM,mDAAmD,EAErE,OAAOD,EAAMC,EAAQ,CAACwJ,EAAGC,IAAU7E,EAAW6E,EAAY,EAAJ,EAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAC1E,EClBA,IAAIC,GAAK,EAEIC,EAAkB,IACtBD,KCEF,IAAME,GAAiB,IAC5Bb,EAAoB,EACpB3D,EAAgBoC,CAAkB,EAClC5C,EAAU,GAAI,EAAE,ECCX,IAAMiF,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: number,\n { min, max }: { min: number; max: number }\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 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>(value?: T[]): value is T[] => Array.isArray(value);\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 = (arg: any): arg is object =>\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","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 = (\n enumObject: Record<string, string | number>\n): string => {\n return randomArrayItem(\n Object.keys(enumObject).filter((key) => !isNumeric(key)) // key cannot be a number\n );\n};\n","import { randomArrayItem } from \"./randomArrayItem\";\n\nexport type EnumValue = string | number;\n\nexport const randomEnumValue = (\n enumObject: Record<string, EnumValue>\n): EnumValue => {\n let values: EnumValue[] = [];\n\n Object.values(enumObject).forEach((value) => {\n if (value in enumObject && !values.includes(value))\n values.push(enumObject[value]);\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/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","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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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,OAAQrG,GAAQ,CAACQ,EAAUR,CAAG,CAAC,CACzD,ECHK,IAAMsG,GACXD,GACe,CACf,IAAIE,EAAuB,CAAC,EAE5B,cAAO,OAAOF,CAAU,EAAE,QAAStF,GAAU,CAEvChB,EAAMgB,EAAOsF,CAAU,GAAK,CAACE,EAAO,SAASxF,CAAmB,GAClEwF,EAAO,KAAKF,EAAWtF,CAAgB,CAAC,CAC5C,CAAC,EAEM+C,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,IACtB9I,EAAWH,EAAM,EAAG,IAAMgJ,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,IAAMxJ,EAAM,EAAG,IAAM+F,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,OAAAjK,EAAS,CAAE,EAAyB,CAAC,IAAM,CAC7E,GAAIA,EAAS,EACX,MAAM,IAAI,MAAM,mDAAmD,EAErE,OAAOD,EAAMC,EAAQ,CAACkK,EAAGC,IAAU7E,EAAW6E,EAAY,EAAJ,EAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAC1E,EClBA,IAAIC,GAAK,EAEIC,EAAkB,IACtBD,KCEF,IAAME,GAAiB,IAC5Bb,EAAoB,EACpB3D,EAAgBoC,CAAkB,EAClC5C,EAAU,GAAI,EAAE,ECCX,IAAMiF,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 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"]}