UNPKG

@hazae41/glacier

Version:

Yet another React data (re)fetching library

137 lines (134 loc) 3.65 kB
import { Catched } from '@hazae41/result'; import { Data } from './data.mjs'; import { Fail } from './fail.mjs'; var Fetched; (function (Fetched) { function from(init) { if ("error" in init) return Fail.from(init); else return Data.from(init); } Fetched.from = from; function rewrap(result, init = result) { if (result.isErr()) return new Fail(result.getErr(), init); else return new Data(result.get(), init); } Fetched.rewrap = rewrap; /** * Run a callback and wrap any returned value in Ok<T> and any thrown error in Err<unknown> * @param callback * @returns */ async function runAndWrap(callback, init) { try { return new Data(await callback(), init); } catch (e) { return new Fail(e, init); } } Fetched.runAndWrap = runAndWrap; /** * Run a callback and wrap any returned value in Ok<T> and any thrown error in Err<unknown> * @param callback * @returns */ function runAndWrapSync(callback, init) { try { return new Data(callback(), init); } catch (e) { return new Fail(e, init); } } Fetched.runAndWrapSync = runAndWrapSync; /** * Run a callback and wrap any returned value in Ok<T> and any thrown error in Err<Catched> * @param callback * @returns */ async function runAndDoubleWrap(callback, init) { try { return new Data(await callback(), init); } catch (e) { return new Fail(Catched.wrap(e), init); } } Fetched.runAndDoubleWrap = runAndDoubleWrap; /** * Run a callback and wrap any returned value in Ok<T> and any thrown error in Err<Catched> * @param callback * @returns */ function runAndDoubleWrapSync(callback, init) { try { return new Data(callback(), init); } catch (e) { return new Fail(Catched.wrap(e), init); } } Fetched.runAndDoubleWrapSync = runAndDoubleWrapSync; /** * Run a callback and wrap any thrown error in Err<unknown> * @param callback * @returns */ async function runOrWrap(callback, init) { try { return await callback(); } catch (e) { return new Fail(e, init); } } Fetched.runOrWrap = runOrWrap; /** * Run a callback and wrap any thrown error in Err<unknown> * @param callback * @returns */ function runOrWrapSync(callback, init) { try { return callback(); } catch (e) { return new Fail(e, init); } } Fetched.runOrWrapSync = runOrWrapSync; /** * Run a callback and wrap any thrown error in Err<unknown> * @param callback * @returns */ async function runOrDoubleWrap(callback, init) { try { return await callback(); } catch (e) { return new Fail(Catched.wrap(e), init); } } Fetched.runOrDoubleWrap = runOrDoubleWrap; /** * Run a callback and wrap any thrown error in Err<unknown> * @param callback * @returns */ function runOrDoubleWrapSync(callback, init) { try { return callback(); } catch (e) { return new Fail(Catched.wrap(e), init); } } Fetched.runOrDoubleWrapSync = runOrDoubleWrapSync; })(Fetched || (Fetched = {})); export { Fetched }; //# sourceMappingURL=fetched.mjs.map