export function reverse(entry: string | number | any[]): string | number | any[] { const x = typeof entry; if (['number', 'string'].includes(x)) { const array = entry.toString().split(''); if (array.length <= 0) throw new ReferenceError('The entered entry is 0 in length.'); const reversed = array.reverse().toString(); return x === 'string' ? reversed : parseInt(reversed); } else if (Array.isArray(entry)) { return entry.reverse(); } else throw new ReferenceError('It must be entry or number type.'); } export function upperCase(entry: string | string[]): string | string[] { const x = typeof entry; if (x === 'string') { return (entry as string).toUpperCase(); } else if (Array.isArray(entry)) { return (entry as string[]).map((e) => e.toUpperCase()); } else throw new ReferenceError('The input is not a string or an array.'); } export function lowerCase(entry: string | string[]): string | string[] { const x = typeof entry; if (x === 'string') { return (entry as string).toLowerCase(); } else if (Array.isArray(entry)) { return (entry as string[]).map((e) => e.toLowerCase()); } else throw new ReferenceError('The input is not a string or an array.'); } export function roll(number1?: number, number2?: number) { if (!number1) number1 = 0; if (!number2) number2 = 100; return Math.floor(Math.random() * (number2 - number1) + number1); }