UNPKG

recoil-toolkit

Version:
22 lines 813 B
import { atom, selector, selectorFamily, useRecoilValue, useResetRecoilState } from 'recoil'; export const ERRORS_STACK_SIZE = 100; export const errorStack = atom({ key: '@recoil-toolkit.errorStack', default: [], }); export const lastError = selector({ key: '@recoil-toolkit.lastError', get: ({ get }) => { const e = get(errorStack); return e.length > 0 ? e[e.length - 1] : undefined; }, }); export const lastErrorType = selectorFamily({ key: '@recoil-toolkit.lastErrorType', get: (key) => ({ get }) => get(errorStack) .filter(e => e.key === key) .pop(), }); export const useLastError = (key) => useRecoilValue(key ? lastErrorType(key) : lastError); export const useResetErrors = () => useResetRecoilState(errorStack); //# sourceMappingURL=errors.js.map