lml-main
Version:
This is now a mono repository published into many standalone packages.
20 lines • 997 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const rxjs_1 = require("rxjs");
const cosmo_redux_api_1 = require("@lml/cosmo-redux-api");
const cosmo_ui_auth_1 = require("@lml/cosmo-ui-auth");
const actions_1 = require("../../couriers/actions");
const MINIMUM_POLLING_INTERVAL = 10000;
exports.pollCourierStatus = (action$, store) => action$.ofType(cosmo_ui_auth_1.AUTHENTICATED)
.mergeMap(action => rxjs_1.Observable.interval(MINIMUM_POLLING_INTERVAL)
.map(i => {
const state = store.getState();
const lastUpdate = cosmo_redux_api_1.getLastCourierStatusUpdate(state);
// console.log('LAST COURIER STATUS UPDATE IS', lastUpdate, Date.now() - lastUpdate)
if (!lastUpdate || diffUpdate(lastUpdate)) {
return actions_1.reloadCouriers();
}
return ({ type: 'COURIER_STATUS_POLLING_NOOP' });
}));
const diffUpdate = (lastUpdate) => (Date.now() - lastUpdate) > MINIMUM_POLLING_INTERVAL;
//# sourceMappingURL=poll-courier-status.js.map