UNPKG

lml-main

Version:

This is now a mono repository published into many standalone packages.

29 lines 1.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var moment = require("moment"); var rxjs_1 = require("rxjs"); var selectors_1 = require("../selectors"); var actions_1 = require("../actions"); // we must have a var MIN_HEALTHCHECK_INTERVAL = 120000; exports.pusherHealthcheck = function (action$, store) { return action$.ofType(actions_1.PUSHER_CONNECTION_SUCCESS) .mergeMap(function (action) { return rxjs_1.Observable.interval(120000).map(function (i) { var state = store.getState(); var metadata = selectors_1.getMetadataState(state); var now = moment(); var timedoutChannels = Object.keys(metadata) .filter(function (channel) { var item = metadata[channel]; var diff = now.diff(moment(item.timestamp)); return diff > MIN_HEALTHCHECK_INTERVAL; }); if (timedoutChannels.length) { return actions_1.pusherHealthcheckTimeout(timedoutChannels); } return actions_1.pusherHealthcheckSuccess(); }); }); }; //# sourceMappingURL=healthcheck.js.map