Initial commit

This commit is contained in:
Paul Fey 2025-06-20 09:47:10 +02:00
commit c310cd7943
19 changed files with 3939 additions and 0 deletions

35
shared/defer.js Normal file
View file

@ -0,0 +1,35 @@
export function Deferred() {
const defer = {}
defer.promise = new Promise(function (resolve, reject) {
defer.resolve = resolve
defer.reject = reject
})
return defer
}
export function delay(ms) {
const defer = Deferred()
setTimeout(defer.resolve, ms)
return defer.promise
}
export function timeout(ms, cb) {
const defer = Deferred()
ms = ms || 1000
const wait = setTimeout(() => {
clearTimeout(wait)
if (cb) {
cb && cb(defer.resolve, defer.reject)
} else {
defer.reject('Timed out in ' + ms + 'ms.')
}
}, ms)
return defer.promise
}