pinafore/src/routes/_store/observers/setupLoggedInObservers.js
Nolan Lawson 14a618f374
perf: lazy-load logged-in observers, fix circular dependencies (#823)
* perf: lazy-load logged-in observers, fix circular dependencies

* I guess async deps don't count as circular deps
2018-12-16 10:22:34 -08:00

16 lines
553 B
JavaScript

import { importLoggedInObservers } from '../../_utils/asyncModules'
let observedOnce = false
// An observer that calls an observer... this is a bit weird, but it eliminates
// circular dependencies and also allows us to lazy load observers that are
// only needed when you're logged in.
export function setupLoggedInObservers (store) {
store.observe('isUserLoggedIn', isUserLoggedIn => {
if (isUserLoggedIn && !observedOnce) {
importLoggedInObservers().then(loggedInObservers => loggedInObservers())
observedOnce = true
}
})
}