recoil-toolkit
Version:
39 lines • 1.5 kB
JavaScript
;
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