|
|
|
@ -1,3 +1,5 @@
|
|
|
|
|
// General helper functions
|
|
|
|
|
|
|
|
|
|
export const cancelablePromise = promise => { |
|
|
|
|
let isCanceled = false |
|
|
|
|
|
|
|
|
@ -13,13 +15,12 @@ export const cancelablePromise = promise => {
|
|
|
|
|
cancel: () => (isCanceled = true), |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
export const noop = () => {} |
|
|
|
|
|
|
|
|
|
export const delay = n => new Promise(resolve => setTimeout(resolve, n)) |
|
|
|
|
export const delay = (n = 550) => new Promise(resolve => setTimeout(resolve, n)) |
|
|
|
|
|
|
|
|
|
export const isObject = obj => { |
|
|
|
|
return Object.prototype.toString.call(obj) === '[object Object]' |
|
|
|
|
} |
|
|
|
|
export const isObject = obj => Object.prototype.toString.call(obj) === '[object Object]' |
|
|
|
|
|
|
|
|
|
export const convertToDuration = (milliseconds: number) => { |
|
|
|
|
const stringifyTime = (time: number): string => String(time).padStart(2, '0') |
|
|
|
@ -42,3 +43,15 @@ export const convertToTimeWorked = (milliseconds: number) => {
|
|
|
|
|
return `${minutes % 60}m` |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Returns a random int between min and max (inclusive)
|
|
|
|
|
export function randomInt(min, max) { |
|
|
|
|
min = Math.ceil(min); |
|
|
|
|
max = Math.floor(max); |
|
|
|
|
return Math.floor(Math.random() * (max - min + 1)) + min; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Returns a random item from the given array
|
|
|
|
|
export function selectRandom(arrayToChooseFrom) { |
|
|
|
|
return arrayToChooseFrom[randomInt(0, arrayToChooseFrom.length - 1)] |
|
|
|
|
} |