mirror of
https://github.com/garraflavatra/rolens.git
synced 2025-04-18 08:21:03 +00:00
33 lines
731 B
JavaScript
33 lines
731 B
JavaScript
import { derived } from 'svelte/store';
|
|
import environment from './environment.js';
|
|
import applicationSettings from './settings.js';
|
|
|
|
let alreadyInited = false;
|
|
|
|
const listeners = [];
|
|
const defer = listener => {
|
|
if (alreadyInited) {
|
|
listener();
|
|
}
|
|
else {
|
|
listeners.push(listener);
|
|
}
|
|
};
|
|
|
|
const { subscribe } = derived([ environment, applicationSettings ], ([ env, settings ], set) => {
|
|
if (alreadyInited) {
|
|
return;
|
|
}
|
|
else if (env && settings) {
|
|
Promise.all(listeners.map(l => l())).then(() => {
|
|
set(true);
|
|
alreadyInited = true;
|
|
document.getElementById('app-loading')?.remove();
|
|
});
|
|
}
|
|
}, false);
|
|
|
|
const applicationInited = { defer, subscribe };
|
|
|
|
export default applicationInited;
|