Global

Methods

clone(obj) → {object}

Recursive function to deep clone an object. If a non object parameter is passed in, that parameter is returned and no recursion occurs.

Since:
  • 0.0.1
Source:
See:
Parameters:
Name Type Description
obj object | array

Object to be cloned

Returns:
Type:
object

Cloned object

dateToHMS(dateopt) → {string}

Convert date object or number to HH:MM:SS

Since:
  • 0.0.1
Source:
Parameters:
Name Type Attributes Default Description
date object | number <optional>
new Date()

Date object or date in milliseconds

Throws:

Error if param is not a date object or number

Returns:
Type:
string

Time in HH:MM:SS format

deBounce(func, timeoutopt) → {number}

Debounce costly functions on scroll/resize etc or just delay a function

Since:
  • 0.0.2
Source:
Parameters:
Name Type Attributes Default Description
func function

Function to run after delay

timeout number <optional>
1000

Delay in milliseconds

Throws:

Error if first argument is not a function

Type
TypeError
Returns:
Type:
number

TimerId if you want to clear timeout before function runs

mapN(n, start1, stop1, start2, stop2) → {number}

Maps given number from one range to another

Since:
  • 0.0.1
Source:
See:
Parameters:
Name Type Description
n number

A positive or negative number

start1 number

Min possible value for n

stop1 number

Max possible value for n

start2 number

Min value for new range

stop2 number

Max value for new range

Returns:
Type:
number

Calculated n for new range

parseDate(dateopt, sepopt, timeopt, hour12opt, reverseopt) → {string}

Few ways to parse a date object.

Since:
  • 0.0.5
Source:
Parameters:
Name Type Attributes Default Description
date date <optional>
new Date()

Date object

sep string <optional>
'/'

Separator

time boolean <optional>
true

Include time or not

hour12 boolean <optional>
false

12 hour clock or 24

reverse boolean <optional>
false

reverse DDMMYYY to YYYYMMDD or not

Throws:

Error if date is not a date object

Returns:
Type:
string

Year, month and day separated by sep and optionally time in HH:MM:SS format, 12 or 24 hours

Examples
parseDate(undefined, '-'); // returns current date formatted with - and current time,
e.g. 13-09-2018, 14:04:23
const date = new Date(2012, 12, 28, 23, 59, 59)
parseDate(date, undefined, undefined, true, true);
// returns 2012/12/28, 11:59:59 PM

percentageOf(num, ofnum, decopt) → {number}

Calculate percentage: num is what percent of ofnum

Since:
  • 0.0.1
Source:
Parameters:
Name Type Attributes Default Description
num number
ofnum number
dec number <optional>
0

Decimals

Returns:
Type:
number

( (num / ofnum) * 100 ).toFixed(fix)

random(minopt, maxopt) → {mixed}

Random number or item from array

Since:
  • 0.0.3
Source:
Parameters:
Name Type Attributes Description
min number | array <optional>

Minimum number or array

max number <optional>

Maximum number

Returns:
Type:
mixed

If no parameters, a random number between 0 and 1
if number, a random number between 0 and number if two numbers, a random number between those numbers
if array, a random item from that array

Example
random(5, 10); // returns floating point number between 5 and 10
Math.round(random(10)); // returns integer between 0 and 10

secondsToDHMS(secs, longopt) → {string}

Convert seconds to display time

Since:
  • 0.0.1
Source:
Parameters:
Name Type Attributes Default Description
secs number

Number in seconds

long boolean <optional>
false

Boolean to choose short or long display

Returns:
Type:
string

short: 14d 6h 53m 0s
long: 14 days, 6 hours, 53 minutes, 0 seconds