UNPKG

recoil-toolkit

Version:
39 lines 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useRunningTasks = exports.lastTaskByKey = exports.taskById = exports.runningTasks = exports.tasks = void 0; var recoil_1 = require("recoil"); var types_1 = require("../types"); exports.tasks = (0, recoil_1.atom)({ key: '@recoil-toolkit.tasks', default: [], }); exports.runningTasks = (0, recoil_1.selector)({ key: '@recoil-toolkit.runningTasks', get: function (_a) { var get = _a.get; return get(exports.tasks).filter(function (t) { return t.status === types_1.TaskStatus.Running; }); }, }); exports.taskById = (0, recoil_1.selectorFamily)({ key: '@recoil-toolkit.taskById', get: function (id) { return function (_a) { var get = _a.get; return get(exports.tasks).find(function (t) { return t.id === id; }); }; }, }); exports.lastTaskByKey = (0, recoil_1.selectorFamily)({ key: '@recoil-toolkit.lastTaskType', get: function (key) { return function (_a) { var get = _a.get; return get(exports.tasks) .filter(function (t) { var _a; return ((_a = t === null || t === void 0 ? void 0 : t.options) === null || _a === void 0 ? void 0 : _a.key) === key; }) .pop(); }; }, }); var useRunningTasks = function () { return (0, recoil_1.useRecoilValue)(exports.runningTasks); }; exports.useRunningTasks = useRunningTasks; //# sourceMappingURL=tasks.js.map