@neurosity/sdk
Version:
Neurosity SDK
16 lines (15 loc) • 672 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.whileOnline = void 0;
const rxjs_1 = require("rxjs");
const operators_1 = require("rxjs/operators");
function whileOnline({ status$, allowWhileOnSleepMode }) {
return (0, rxjs_1.pipe)((0, operators_1.withLatestFrom)(status$), (0, operators_1.mergeMap)(([value, status]) => shouldAllowMetrics(status, allowWhileOnSleepMode)
? (0, rxjs_1.of)(value)
: rxjs_1.EMPTY));
}
exports.whileOnline = whileOnline;
function shouldAllowMetrics(status, allowWhileOnSleepMode) {
return (status.state === "online" &&
(allowWhileOnSleepMode ? true : !status.sleepMode));
}