UNPKG

@typed/io

Version:

Runtime IO type system

15 lines 730 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.either = void 0; const either_1 = require("@typed/either"); const G = require("../guard"); const Decoder_1 = require("./Decoder"); const refinement_1 = require("./refinement"); const UnknownEither = Decoder_1.Decoder.fromGuard(G.Either, 'Either<unknown, unknown>'); exports.either = (left, right) => refinement_1.refinement(UnknownEither, function* (either) { if (either_1.isLeft(either)) { return either_1.Left.of(yield* left.decode(either_1.fromLeft(either))); } return either_1.Right.of(yield* right.decode(either_1.fromRight(either))); }, `Either<${left.expected}, ${right.expected}>`); //# sourceMappingURL=Either.js.map