UNPKG

@yoroi/common

Version:

The Common package of Yoroi SDK

27 lines (26 loc) 833 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.queueTaskMaker = void 0; var _types = require("@yoroi/types"); var _immer = require("immer"); var _rxjs = require("rxjs"); var _operators = require("rxjs/operators"); const queueTaskMaker = () => { const queueSubject = new _rxjs.Subject(); const subscription = queueSubject.pipe((0, _operators.concatMap)(task => (0, _rxjs.from)(task()).pipe((0, _operators.catchError)(() => (0, _rxjs.of)(_types.App.Errors.InvalidState))))).subscribe(); const enqueue = task => { queueSubject.next(task); }; const destroy = () => { subscription.unsubscribe(); queueSubject.complete(); }; return (0, _immer.freeze)({ enqueue, destroy }, true); }; exports.queueTaskMaker = queueTaskMaker; //# sourceMappingURL=queue-task.js.map