UNPKG

@typed/fp

Version:

Data Structures and Resources for fp-ts

67 lines 1.95 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.map = exports.loadEnvEither = exports.loadEnv = exports.toReplete = exports.toRefresh = exports.toLoading = exports.toNoData = void 0; const tslib_1 = require("tslib"); /** * RefDataEither is a collection of helpers for working with Refs that manage DataEither. * @since 0.12.1 */ const function_1 = require("fp-ts/function"); const DE = (0, tslib_1.__importStar)(require("./DataEither")); const E = (0, tslib_1.__importStar)(require("./Env")); const Ref = (0, tslib_1.__importStar)(require("./Ref")); /** * @since 0.12.1 * @category Combinator */ function toNoData(rd) { return rd.update(() => E.of(DE.noData)); } exports.toNoData = toNoData; /** * @since 0.12.1 * @category Combinator */ function toLoading(rd) { return rd.update((0, function_1.flow)(DE.toLoading, E.of)); } exports.toLoading = toLoading; /** * @since 0.12.1 * @category Combinator */ function toRefresh(value, progress) { return (rd) => rd.update(() => E.of(DE.refresh(value, progress))); } exports.toRefresh = toRefresh; /** * @since 0.12.1 * @category Combinator */ function toReplete(value) { return (rd) => rd.update(() => E.of(DE.replete(value))); } exports.toReplete = toReplete; /** * @since 0.12.1 * @category Combinator */ function loadEnv(env) { return (rd) => (0, function_1.pipe)(rd, toLoading, E.chainW(() => rd.update(() => (0, function_1.pipe)(env, E.map(DE.replete))))); } exports.loadEnv = loadEnv; /** * @since 0.12.1 * @category Combinator */ function loadEnvEither(env) { return (rd) => (0, function_1.pipe)(rd, toLoading, E.chainW(() => rd.update(() => (0, function_1.pipe)(env, E.map(DE.fromEither))))); } exports.loadEnvEither = loadEnvEither; /** * @since 0.12.1 * @category Combinator */ const map = (f) => (ref) => (0, function_1.pipe)(ref, Ref.map(DE.map(f))); exports.map = map; //# sourceMappingURL=RefDataEither.js.map