UNPKG

recoil-toolkit

Version:
33 lines 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useResetErrors = exports.useLastError = exports.lastErrorType = exports.lastError = exports.errorStack = exports.ERRORS_STACK_SIZE = void 0; var recoil_1 = require("recoil"); exports.ERRORS_STACK_SIZE = 100; exports.errorStack = (0, recoil_1.atom)({ key: '@recoil-toolkit.errorStack', default: [], }); exports.lastError = (0, recoil_1.selector)({ key: '@recoil-toolkit.lastError', get: function (_a) { var get = _a.get; var e = get(exports.errorStack); return e.length > 0 ? e[e.length - 1] : undefined; }, }); exports.lastErrorType = (0, recoil_1.selectorFamily)({ key: '@recoil-toolkit.lastErrorType', get: function (key) { return function (_a) { var get = _a.get; return get(exports.errorStack) .filter(function (e) { return e.key === key; }) .pop(); }; }, }); var useLastError = function (key) { return (0, recoil_1.useRecoilValue)(key ? (0, exports.lastErrorType)(key) : exports.lastError); }; exports.useLastError = useLastError; var useResetErrors = function () { return (0, recoil_1.useResetRecoilState)(exports.errorStack); }; exports.useResetErrors = useResetErrors; //# sourceMappingURL=errors.js.map