Move flavours/glitch/utils/ready to flavours/glitch/ready

This commit is contained in:
Claire
2022-10-11 11:23:59 +02:00
parent 015e798394
commit 7097a459be
17 changed files with 15 additions and 15 deletions

View File

@@ -0,0 +1,32 @@
// @ts-check
/**
* @param {(() => void) | (() => Promise<void>)} callback
* @returns {Promise<void>}
*/
export default function ready(callback) {
return new Promise((resolve, reject) => {
function loaded() {
let result;
try {
result = callback();
} catch (err) {
reject(err);
return;
}
if (typeof result?.then === 'function') {
result.then(resolve).catch(reject);
} else {
resolve();
}
}
if (['interactive', 'complete'].includes(document.readyState)) {
loaded();
} else {
document.addEventListener('DOMContentLoaded', loaded);
}
});
}