You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.1 KiB
41 lines
1.1 KiB
|
|
// I know; bite me.
|
|
Date.prototype.toDisplay = function() {
|
|
let month = `${this.getMonth() + 1}`
|
|
if ( month.length < 2 ) month = `0${month}`
|
|
let date = `${this.getDate()}`
|
|
if ( date.length < 2 ) date = `0${date}`
|
|
return `${this.getFullYear()}-${month}-${date}`
|
|
}
|
|
|
|
Date.prototype.toInputString = function() {
|
|
let month = `${this.getMonth() + 1}`
|
|
if ( month.length < 2 ) month = `0${month}`
|
|
let date = `${this.getDate()}`
|
|
if ( date.length < 2 ) date = `0${date}`
|
|
let hours = `${this.getHours()}`
|
|
if ( hours.length < 2 ) hours = `0${date}`
|
|
let minutes = `${this.getMinutes()}`
|
|
if ( minutes.length < 2 ) minutes = `0${date}`
|
|
|
|
return `${this.getFullYear()}-${month}-${date}T${hours}:${minutes}`
|
|
}
|
|
|
|
export function uuid() {
|
|
return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
|
|
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
|
|
)
|
|
}
|
|
|
|
export function debounce(handler = () => {}, delay = 500) {
|
|
let timeout = null
|
|
|
|
return (...args) => {
|
|
clearTimeout(timeout)
|
|
|
|
timeout = setTimeout(() => {
|
|
handler(...args)
|
|
}, delay)
|
|
}
|
|
}
|