UNPKG

@yoroi/common

Version:
44 lines (43 loc) 1.07 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 = ({ data, timeout = 3000 }) => new Promise(resolve => { setTimeout(() => resolve(data), timeout); }); const empty = emptyRepresentation => Promise.resolve(emptyRepresentation); const asyncBehaviorMaker = ({ otherErrors, data, timeout, emptyRepresentation }) => (0, _immer.freeze)({ delayed: (..._args) => delayed({ data, timeout }), empty: (..._args) => empty(emptyRepresentation), error: { ...otherErrors, unknown: (..._args) => error() }, loading, success: (..._args) => success(data) }); const asyncBehavior = exports.asyncBehavior = (0, _immer.freeze)({ delayed, empty, error, loading, success, maker: asyncBehaviorMaker }); //# sourceMappingURL=async-behavior.js.map