UNPKG

@yoroi/common

Version:

The Common package of Yoroi SDK

20 lines 631 B
import { App } from '@yoroi/types'; import { freeze } from 'immer'; import { Subject, from, of } from 'rxjs'; import { catchError, concatMap } from 'rxjs/operators'; export const queueTaskMaker = () => { const queueSubject = new Subject(); const subscription = queueSubject.pipe(concatMap(task => from(task()).pipe(catchError(() => of(App.Errors.InvalidState))))).subscribe(); const enqueue = task => { queueSubject.next(task); }; const destroy = () => { subscription.unsubscribe(); queueSubject.complete(); }; return freeze({ enqueue, destroy }, true); }; //# sourceMappingURL=queue-task.js.map