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
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