UNPKG

@yoroi/common

Version:

The Common package of Yoroi SDK

59 lines (58 loc) 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.asyncBehavior = void 0; var _immer = require("immer"); const success = result => Promise.resolve(result); const loading = () => new Promise(() => {}); const error = rejectWith => Promise.reject(rejectWith ?? new Error('Unknown error')); const delayed = _ref => { let { data, timeout = 3000 } = _ref; return new Promise(resolve => { setTimeout(() => resolve(data), timeout); }); }; const empty = emptyRepresentation => Promise.resolve(emptyRepresentation); const asyncBehaviorMaker = _ref2 => { let { otherErrors, data, timeout, emptyRepresentation } = _ref2; return (0, _immer.freeze)({ delayed: function () { return delayed({ data, timeout }); }, empty: function () { return empty(emptyRepresentation); }, error: { ...otherErrors, unknown: function () { return error(); } }, loading, success: function () { return success(data); } }); }; const asyncBehavior = (0, _immer.freeze)({ delayed, empty, error, loading, success, maker: asyncBehaviorMaker }); exports.asyncBehavior = asyncBehavior; //# sourceMappingURL=async-behavior.js.map