UNPKG

569 BJavaScriptView Raw
1const dev = process.env.NODE_ENV === 'development'
2const defaultValue = dev ? 0 : 30000 // 0 or 30s
3
4/**
5 * If value === Infinity it returns "Infinity". If value === undefined it returns the default value. If the value is a Number it returns the value.
6 * @param {string|number} value
7 * @returns {string|number}
8 */
9function parseTimeout(value = defaultValue) {
10 if (isNaN(value)) {
11 throw new TypeError('timeout must be a number, undefined or Infinity.')
12 }
13
14 if (!isFinite(value)) {
15 return 'Infinity'
16 }
17
18 return +value
19}
20
21module.exports = parseTimeout