UNPKG

fp-ts-std

Version:

The missing pseudo-standard library for fp-ts.

13 lines (12 loc) 634 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.randomExtract = void 0; const IO = require("fp-ts/IO"); const Rand = require("fp-ts/Random"); const RA = require("fp-ts/ReadonlyArray"); const function_1 = require("fp-ts/function"); const Array_1 = require("./Array"); const Number_1 = require("./Number"); const Option_1 = require("./Option"); const randomExtract = (xs) => (0, function_1.pipe)(Rand.randomInt(0, (0, function_1.pipe)(xs, RA.size, Number_1.decrement)), IO.map((0, function_1.flow)(i => (0, Array_1.extractAt)(i)(xs), Option_1.unsafeUnwrap))); exports.randomExtract = randomExtract;