From 05c6b9de6c38f037fabfb6884f987c8e3c1d7d02 Mon Sep 17 00:00:00 2001
From: Ashley <iamashley@duck.com>
Date: Sun, 6 Nov 2022 12:08:12 +0100
Subject: [PATCH] add new core util functions

---
 src/libpoketube/ptutils/libpt-coreutils.js | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/src/libpoketube/ptutils/libpt-coreutils.js b/src/libpoketube/ptutils/libpt-coreutils.js
index 620eab5f..bd156706 100644
--- a/src/libpoketube/ptutils/libpt-coreutils.js
+++ b/src/libpoketube/ptutils/libpt-coreutils.js
@@ -52,11 +52,32 @@ function turntomins(time) {
   return finalTime;
 };
 
+/**
+ * Returns a random number between min (inclusive) and max (exclusive)
+ */
+function getRandomArbitrary(min, max) {
+    return Math.random() * (max - min) + min;
+}
+
+/**
+ * Returns a random integer between min (inclusive) and max (inclusive).
+ * The value is no lower than min (or the next integer greater than min
+ * if min isn't an integer) and no greater than max (or the next integer
+ * lower than max if max isn't an integer).
+ * Using Math.round() will give you a non-uniform distribution!
+ */
+function getRandomInt(min, max) {
+    min = Math.ceil(min);
+    max = Math.floor(max);
+    return Math.floor(Math.random() * (max - min + 1)) + min;
+}
 
 module.exports = {
 IsJsonString,
 convert,
 getFirstLine,
+getRandomArbitrary,
+getRandomInt,
 capitalizeFirstLetter,
 turntomins
 };
\ No newline at end of file