import * as _ from "lodash"; import * as numeral from "numeral"; export const parseIntOr = (str: string, fallback: number): number => { const parsed = parseInt(str, 10); if (_.isNaN(parsed)) { return fallback; } return parsed; } export const formatLargeNumber = (num: any): string => { if (!_.isNumber(num)) { return num; } return num > 999 ? numeral(num).format("0.0a") : num.toString(); }; export const randomIncrement = (initial: number = 0, limit: number = 100): number => { const num = random(limit); // Guard against num being higher than limit if (initial + num > limit) return initial; return randomIncrement(initial + num, limit); } export const random = (limit: number): number => Math.round(Math.random() * limit); export const newRandom = (limit: number, old: number): number => { const rand = random(limit); // Guard against same number if (rand === old) return newRandom(limit, old); return rand; }