Files
CoreID/app/assets/app/service/Utility.service.js
garrettmills f06ff83dce
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
Move all front-end public field definitions into constructors for iOS support
2020-10-28 19:53:07 -05:00

27 lines
586 B
JavaScript

class UtilityService {
constructor() {
this._debounce_timeouts = {}
}
uuid() {
return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
)
}
debounce(handler = () => {}, delay = 500) {
let timeout = null
return (...args) => {
clearTimeout(timeout)
timeout = setTimeout(() => {
handler(...args)
}, delay)
}
}
}
const utility = new UtilityService()
export { utility }